簡體   English   中英

XPath查詢返回不同級別的多個節點

[英]XPath query return multiple nodes on different levels

PHP XPath查詢:

$query = $xpathvar->query('//siri:Service');
foreach($query as $service) {
    echo $service->textContent;
    // Here I need to also echo this Vehicle's reg
}

目標XML:

<Vehicle>
    <CategoryA>
        <Service>123123123</Service>
    </CategoryA>
    <CategoryB>
         <SubCategoryA>
             <Reg>ASDF_XC1</Reg>
         </SubCategoryA>
    </CategoryB>
</Vehicle>
// Imagine many more vehicles here each with a service and reg

我該如何更改PHP,以便同時檢索每個Reg? 取回時,服務和Reg必須位於同一輛車內(不是隨機對)。

查詢車輛,然后將其用作上下文節點以搜索ServiceReg怎么樣?

$vehicles = $xpath->query('//siri:Vehicle');
$pairs = array();
foreach ($vehicles as $vehicle) {
    $pairs[] = array(
        'Service' => $xpath->evaluate('string(.//siri:Service)', $vehicle),
        'Reg'     => $xpath->evaluate('string(.//siri:Reg)'    , $vehicle),
    );
}

另請參閱:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM