PHP xpath 结果为字符串数组


PHP xpath result as array of strings

我见过几个类似的问题,但没有找到我正在寻找的确切答案。可能是我正在寻找的功能不存在。

如果我执行一个 xpath 查询,生成一个对象数组,但每个对象只包含一个值,一个字符串,我想快速将其转换为字符串数组。显然,我可以对对象执行 foreach 并将字符串值推送到新数组上,但如果有一个我没有想到的内置函数,请告诉我。

例:

array(3) {
  [0]=>
  object(SimpleXMLElement)#24 (1) {
    [0]=>
    string(20) "Network Media Player"
  }
  [1]=>
  object(SimpleXMLElement)#25 (1) {
    [0]=>
    string(12) "Music Player"
  }
  [2]=>
  object(SimpleXMLElement)#26 (1) {
    [0]=>
    string(8) "Juke Box"
  }
}

我希望它成为

array('Network Media Player','Music Player','Juke Box')
这是我

的测试:

<pre><?php 
$xml = "<data>
            <item>
                <value>Network Media Player</value>
            </item>
            <item>
                <value>Music Player</value>
            </item>
            <item>
                <value>Jukebox Player</value>
            </item>
        </data>";
$sx = simplexml_load_string($xml);
print_r($sx);
print_r(explode("|",implode("|",$sx->xpath("//data/item/value"))));
?></pre>

结果如下:http://codepad.org/ZkaWpzMc