【发布时间】:2010-03-04 09:52:47
【问题描述】:
我需要查询一个 xml 文档,然后显示特定的标签值,例如名、姓、组(部门)、职位。
我正在使用 XMLReader,因为我可能需要处理大型 XML 文件。我使用 DomXPath 过滤数据,但我不知道如何检索每个元素的节点名称和值。下面的代码只返回'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;
?>
【问题讨论】: