0

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 も取得するにはどうすればよいですか? Service と Reg は、取得時に同じ車両内にある必要があります (ランダムなペアではありません)。

4

1 に答える 1

3

vehicle にクエリを実行し、それをコンテキスト ノードとして使用してServiceandを検索するのはRegどうですか?

$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),
    );
}

同様に参照してください:

于 2013-09-29T12:37:25.313 に答える