drno-reg
@drno-reg
см не кратко

Как в одном цикле выбрать сразу 2 значения по наименованию тега?

Здравствуйте.

Есть вот такой xml

<s:Body>
<GetQualityFulfilmentResponse xmlns="http://schemas.septembers.ru/septic/workflow/quality/services">
<GetQualityFulfilmentResult xmlns:a="http://schemas.dataseptic.org/2004/07/Septic.Quality" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Segments xmlns:b="http://schemas.septembers.ru/septic/flow/quality/types">
<b:QualityRuleFulfilmentSegment>
<b:AcceptedMessagesCount>0</b:AcceptedMessagesCount>
<b:FailedCount>
1
</b:FailedCount>
<b:SentMessagesCount>0</b:SentMessagesCount>
<b:SucceededCount>
123
</b:SucceededCount>
<b:TimeFrom>2017-07-27T16:32:40.737+03:00</b:TimeFrom>
<b:TimeTo>2017-07-27T18:12:40.737+03:00</b:TimeTo>
</b:QualityRuleFulfilmentSegment>
</a:Segments>
</GetQualityFulfilmentResult>
</GetQualityFulfilmentResponse>
</s:Body>


использую jsoup для того, чтобы вытащить значения b:FailedCount и b:SucceededCount
org.jsoup.nodes.Document doc = Jsoup.parse(xml, "", Parser.xmlParser());
        for (org.jsoup.nodes.Element e : doc.getElementsByTag("b:FailedCount")) {
            System.out.println(e.ownText());
        }
        for (org.jsoup.nodes.Element e : doc.getElementsByTag("b:SucceededCount")) {
            System.out.println(e.ownText());
        }

как в одном цикле выбрать сразу 2 значения по наименованию тега?
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
@protven
Elements result = doc.getElementsByTag("b:FailedCount");
        result.addAll(doc.getElementsByTag("b:SucceededCount"));


И дальше итерируйтесь по result.

PS Всегда смотрите что у вас за объекты и какие методы они предоставляют. Так, Elements это по сути обычный явовский ArrayList, с которым можно работать используя его стандартные методы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы