在php中仅显示具有特定属性的XML节点
如果我有:在php中仅显示具有特定属性的XML节点,php,xml,xml-parsing,Php,Xml,Xml Parsing,如果我有: <listing> <name>Bob</name> <age>20</age> <hair>red</hair> </listing> <listing> <name>John</name> <age>24</age> <hair>black</hair> </listing> 如果hai
<listing>
<name>Bob</name>
<age>20</age>
<hair>red</hair>
</listing>
<listing>
<name>John</name>
<age>24</age>
<hair>black</hair>
</listing>
如果hair=black,如何将php页面编码为仅显示列表
这样它就只能拉进去了
<listing>
<name>John</name>
<age>24</age>
<hair>black</hair>
</listing>
谢谢使用
您目前如何解析XML?我是一个新手,但它是一个标准的xml文件,像这样[link]
// First, your XML must be wraped with some root tag.
$data = <<<XML
<root>
<listing>
<name>Bob</name>
<age>20</age>
<hair>red</hair>
</listing>
<listing>
<name>John</name>
<age>24</age>
<hair>black</hair>
</listing>
</root>
XML;
// Instancing the SimpleXMLElement within the XML(obviously)
$xml = new SimpleXMLElement($data);
// XPath
$xpath = $xml->xpath("listing[contains(hair,'black')]");
/**
* eXplained XPath:
* <listing> that
* <hair>'s content is equal black
*/
foreach($xpath as $node){
// just for fun echoes the <results> node
echo $node->asXml();
}