PHP xpath结果为字符串数组

时间:2012-04-24 17:33:45

标签: php arrays xpath

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

如果我执行一个导致对象数组的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')

1 个答案:

答案 0 :(得分:1)

这是我的测试:

<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