Как читать несколько детей из XML - PullRequest
2 голосов
/ 10 декабря 2010

в моем проекте мы используем xpath для извлечения значений из xml

, например:

String AntLid = "/DokxAPI/DokxReply/ReplyBody/Service-Impact-Rep/AntLid/text()";

Теперь xml изменился так, как будто в нем есть максимум 13 дочерних элементов для одного списка крышки.как это

<LidList>
  <Lid>33333,33333,33333</Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
  <Lid></Lid>
</LidList>

ранее это было так

<LID-List>
  <LID>333333333,333333333,333333333,</LID>
</LID-List>

, поэтому я использовал для извлечения

String expressionLID =
    "/DokxAPI/DokxReply/ReplyBody/Service-Impact-Rep/Lid-List/Lid/text()";

, но теперь .. xml изменился и ..как уже говорилось, b4..может иметь 13 детей..макс. 13, мин. 1, ооочень, как мне получить значения каждого подсписка <lid>

1 Ответ

4 голосов
/ 10 декабря 2010

Во-первых, убедитесь, что имена элементов в вашем XPath совпадают с регистром фактических элементов в вашем входе, например. LID.

Кроме этого, ваше выражение XPath

"/DokxAPI/DokxReply/ReplyBody/Service-Impact-Rep/Lid-List/Lid/text()"

уже выбирает всех <LID> детей <LID-List>. Это просто вопрос итерации по ним в вашем коде Java. Если у вас возникли проблемы с этой частью, пожалуйста, покажите свой код Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...