2011-05-16 5 views
2

XML 파일 :DOMXPath - 쿼리

<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]가됩니다.

나는 InsuranceQ QuoteX 출력으로 프로 그레시브를 나열하고 싶습니다.

누군가가 나를 내가 뭘 잘못 알려 수 ...

감사합니다, Priti

답변

0

첫째, 형식의 코드 (XML)는 빠르게 문제를 이해하는 데 도움이됩니다. 확인. 질문으로 돌아 가면 //Domain/Insurance/child::*을 사용해 노드 <Insurance>의 모든 자식을 가져올 수 있습니다.

노드 <Insurance>의 자식을 선택하지 않았기 때문에 XPath가 예상 한 결과를 반환하지 않았으므로 노드 <Insurance> 만 선택하면됩니다.

희망이 도움이되었습니다.

+0

아니요. 나에게 도움이되지 않았습니다. 아직 나에게 415 – user269867