Справка по Xpath-запросу - PullRequest
0 голосов
/ 22 июня 2011

В Xpath, как я могу запросить, если я ищу возраст и имя ребенка, у которого нет внучат

 <documentRoot>
 <parent name="data" >

  <child id="1"  name="alpha" >
   <anotherchild>
     <age>20</age>
     <grandchild/>
   </anotherchild>
  </child>

  <child id="2"  name="beta" >
   <anotherchild>
     <age>50</age>
     <grandchild id="2.1"  name="beta-alpha" ></grandchild>
     <grandchild id="2.2"  name="beta-beta" ></grandchild>
   </anotherchild>
  </child>

 </parent>
</documentRoot>

1 Ответ

3 голосов
/ 22 июня 2011

Похоже, в вашем XML есть некоторые опечатки.Предполагая, что ваш XML подобен этому (с <grandchild/> вместо </grandchild> под первым <child> и закрывающим </documentRoot>

<documentRoot>
    <parent name="data">
        <child id="1" name="alpha">
            <age>20</age>
            <grandchild/>
        </child>
        <child id="2" name="beta">
            <age>50</age>
            <grandchild id="2.1" name="beta-alpha"/>
            <grandchild id="2.2" name="beta-beta"/>
        </child>
    </parent>
</documentRoot>

Этот XPath выберет возраст дочернего элемента, где <grandchild/>существует без @id

//child[not(anotherchild/grandchild/@id)]/anotherchild/age

, это вернет имя для того же child

//child[not(anotherchild/grandchild/@id)]/anotherchild/@name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...