Разбор XML-файла с использованием xpath и xquery - PullRequest
0 голосов
/ 11 октября 2010

У меня есть XML-файл

<category>
    <type name="SWEATERS">
        <product id =1>
            <itemNumber>1</itemNumber>
            <name>ProductA2</name>
            <price>345</price>
        </product>
   </type>
   <type name="PANTS">
        <product id=2>
            <itemNumber>4</itemNumber>
            <name>Product Test </name>
            <price>456</price>
        </product>
    </type>
</category>

Я использовал xquery

$xml->xpath('//category/type/product[@id=1]');

Выход будет давать имя и цену itemNumber. Как я могу получить имя типа, я имею в виду SWEATERS

Ответы [ 2 ]

2 голосов
/ 11 октября 2010

Вы ищете атрибут name типа с элементом продукта с id, равным 1:

$xml->xpath('//category/type[product/@id=1]/@name');
2 голосов
/ 11 октября 2010

Вы можете получить это, используя родительский .., затем атрибут @name.

$xml->xpath('//category/type/product[@id=1]/../@name');

Синтаксис xPath

...