XML文件:
<Domain Domaindetails="This tree display the domain we work">Root element
<Insurance>
<InsuranceQ>
<Devs>4</Devs>
<QA>1</QA>
<Total>5</Total>
</InsuranceQ>
<?billResource bill()?>
<QuoteX/>
<ProgressiveLeads>
<Devs>3</Devs>
<Total>6</Total>
<QA>3</QA>
</ProgressiveLeads>
</Insurance>
<BI>
<MoboM/>
<CloudFW>
<Devs>4</Devs>
<QA>4</QA>
<Total>8</Total>
</CloudFW>
<?billResource bill()?>
</BI>
<Ecommerce>
<USEcom/>
<LXEcom/>
</Ecommerce>
<extrainfo>Co > S&S </extrainfo>
</Domain>遍历保险域名下的项目,因此编写了以下代码
$dom = new DOMDocument('1.0');
$dom->load('project.xml');
$xpath = new DOMXPath($dom);
$nodeList=$xpath->query('//Domain/Insurance');
foreach($nodeList as $node)
{
echo $node->nodeValue;
echo '<br/>';
}结果为空。我的XML中有什么错误吗?上面的代码产生了415devs,qa,total节点,这不是预期的输出。
我想列出InsuranceQ QuoteX Progressivelead作为输出。
谁能让我知道我做错了什么.
谢谢,Priti
发布于 2011-05-16 22:45:58
首先,格式化代码(XML)有助于更快地理解问题。好的。回到您的问题,您可以尝试使用//Domain/Insurance/child::*来获取节点<Insurance>的所有子节点。
您的XPath未返回预期结果,因为您没有选择节点<Insurance>的子节点,而只是选择了<Insurance>节点。
希望这能有所帮助
https://stackoverflow.com/questions/6018355
复制相似问题