Выражение Xpath для поиска нескольких тегов в одном выражении - PullRequest
0 голосов
/ 01 марта 2012

У меня есть следующий пример XML -

    <World>
    <Continents>
    <Continent>America</Continent>
    <Cities>
            <Country>USA</Country>
            <City>New York</City>
    </Cities>
    <Description>Newyork is a nice city</Description>
    <Cities>
            <Country>USA</Country>
            <City>Philadelphia</City>
    </Cities>
    <Description>Philadelphia is a nice city</Description>
    <Cities>
            <Country>USA</Country>
            <City>New Orleans</City>
    </Cities>
    <Description>New Orleans is a nice city</Description>
    </Continents>
    <Continents>
    <Continent>Asia</Continent>
    <Cities>
            <Country>India</Country>
            <City>Mumbai</City>
    </Cities>
    <Description>Mumbai is a nice city</Description>
    <Cities>
            <Country>India</Country>
            <City>New Delhi</City>
    </Cities>
    <Description>New Delhi is a nice city</Description>
    <Cities>
            <Country>India</Country>
            <City>Kolkata</City>
    </Cities>
    <Description>Kolkata is a nice city</Description>
    <Cities>
            <Country>Japan</Country>
            <City>Tokyo</City>
    </Cities>
    <Description>Tokyo is a nice city</Description>
    </Continents>
    </World>

Я хочу перечислить описание для следующего условия -

 Country="India" OR City="New York"
 Continent="Asia" OR Country="Japan"

1 Ответ

1 голос
/ 01 марта 2012

Попробуйте следующее:

//Description[
  (preceding-sibling::Cities[1]/Country = "India" or 
   preceding-sibling::Cities[1]/City = "New York"
  ) or 
  (preceding-sibling::Continent[1] = "Asia" or 
   preceding-sibling::Cities[1]/Country = "Japan"
  )
]

Вывод в моем тесте (--NODE-- - это текст, добавленный моим инструментом):

<Description>Newyork is a nice city</Description>-- NODE --
<Description>Mumbai is a nice city</Description>-- NODE --
<Description>New Delhi is a nice city</Description>-- NODE --
<Description>Kolkata is a nice city</Description>-- NODE --
<Description>Tokyo is a nice city</Description>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...