如何使用simplexml从xpath结果创建新的XML?

时间:2014-01-02 14:22:57

标签: php xml xpath

这是我的XML片段:

<foo>
    <bar>
        <id>120034</id>
        <name>Tom</name>
    </bar>
    <bar>
        <id>9088812</id>
        <name>Tom</name>
    </bar>
    <bar>
        <id>140034</id>
        <name>Mike</name>
    </bar>
</foo>

这是我的PHP ,以提取所有bar/name = Tom

$xml = simplexml_load_string($x); // XML assumed in $x

$results = $xml->xpath("/foo/bar[name = 'Tom']");

问题:如何从$results制作新的XML?

我试过

$results->asXML();

但我收到$results不是simplexml-object的错误。

1 个答案:

答案 0 :(得分:1)

您必须遍历结果集并根据结果执行任何操作。

$xml = simplexml_load_string($x); // XML assumed in $x
$results = $xml->xpath("/foo/bar[name = 'Tom']");
foreach($results as $result) echo $result->asXML();