首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DOMXPath -查询

DOMXPath -查询
EN

Stack Overflow用户
提问于 2011-05-16 21:45:17
回答 1查看 720关注 0票数 2

XML文件:

代码语言:javascript
复制
   <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>

遍历保险域名下的项目,因此编写了以下代码

代码语言:javascript
复制
$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

EN

回答 1

Stack Overflow用户

发布于 2011-05-16 22:45:58

首先,格式化代码(XML)有助于更快地理解问题。好的。回到您的问题,您可以尝试使用//Domain/Insurance/child::*来获取节点<Insurance>的所有子节点。

您的XPath未返回预期结果,因为您没有选择节点<Insurance>的子节点,而只是选择了<Insurance>节点。

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6018355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档