2016-04-19 4 views
0

У меня есть следующий XML-файл:Получить все повторяющиеся дочерние узлы в одном родительском узле - Xpath

<Root> 
<Customers> 
    <Customer> 
    <Web>abc</Web> 
    <Web>bcd</Web> 
    </Customer> 
    <Customer> 
    <Web>hjk</Web> 
    </Customer> 
</Customers> 
</Root> 
  • Я хочу, чтобы получить количество Web только первый клиент, не включает в себя второе, то первый клиент имеет 2 веб-страницы, второй имеет только 1 веб-интерфейс, я использовал count(), но возвращается количество всего в xml-файле: 3 веб-страницы

  • Когда я использую xpath с «// Web [1]», Он показывает 2 значения: abc и hjk; и с "// Web [2]", он показывает: bcd. Я хочу извлечь один за другим по xpath. Есть ли способ сделать это ?

ответ

0

Это не на 100% ясно, какова конечная цель. Но вот некоторые намеки:

Q: Я хочу, чтобы получить количество Web только первый клиент
Try: count(Customer[1]/Web)

Когда я использую XPath с "// Web [1]", он показывает 2 значения Это первый веб-сайт в каждом клиенте.

с "// Web [2]", он показывает: bcd. Это все второй веб-сайт для всех клиентов. Здесь только один.

Вопрос: Я хочу извлечь один за другим по xpath. Есть ли способ сделать это?
Попытка: (//Web)[1] в первую очередь.
(//Web)[2] для всего.
(//Web)[2] ... и прочее.

Смежные вопросы