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有问题吗?上面的代码导致415 [devs,qa,total nodes],这不是预期的输出。

我想列出
保险Q
QuoteX
渐进式铅作为输出。

有人可以让我知道我在做什么错...

谢谢,
普里蒂

最佳答案

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

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

希望这可以帮助

关于xpath - DOMXPath-查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6018355/

10-09 00:37