我有一个xml提要,以及使用XMLreader在EAN值中搜索的内容,当我找到该值时,我想在EAN值所在的元素中获取所有XML。我可以这样做吗?
<prods>
<prod>
<ean>price</ean>
<ean>1234</ean>
</prod>
<prod>
<ean>price</ean>
<ean>123</ean>
</prod>
</prods>
因此,如果我在ean 1234中搜索值,我想获取Hole prod元素。 1级的说法。
<prod>
<ean>price</ean>
<ean>1234</ean>
</prod>
您可以使用Xpath根据条件选择prod
节点:
$content = '<prods>
<prod>
<ean>price</ean>
<ean>1234</ean>
</prod>
<prod>
<ean>price</ean>
<ean>123</ean>
</prod>
</prods>' ;
$xml = simplexml_load_string($content);
$nodes = $xml->xpath("//prod[ean = '1234']") ; // get all prod nodes that satisty "an ean child has content '1234' "
echo $nodes[0]->asXml();
输出:
<prod>
<ean>price</ean>
<ean>1234</ean>
</prod>