我需要查询一个XML文档,然后显示特定的标记值,例如名字、姓氏、组(部门)、职称。
我正在使用XMLReader,因为我可能需要处理大型XML文件。我使用DomXPath来过滤数据,但是我不知道如何检索每个元素的nodeName和value。下面的代码只返回成员(member)作为节点名称?
任何帮助都将不胜感激。
<?php
$reader = new XMLReader();
$reader->open( include/staff.xml );
while ($reader->read()){
switch($reader->nodeType){
case(XMLREADER::ELEMENT):
if($reader->localName === staff ){
$node = $reader->expand();
$dom = new DomDocument();
$dom->formatOutput = true;
$n = $dom->importNode($node, true);
$dom->appendChild($n);
$xp = new DomXpath($dom);
$res = $xp->query("/staff/member[groups= HR ]");
}
}
}
echo $res->item(0)->nodeName;
echo $res->item(0)->nodeValue;
?>