0
<code code="43683-2" codeSystem="2.16.840.1.113883.6.1" displayName="RECENT MAJOR CHANGES SECTION"/>
               <title/>
               <effectiveTime value="20111004"/>
               <excerpt>
                  <highlight>
                     <text>
                        <paragraph>Contraindications <linkHtml href="#s4">(4)</linkHtml>   10/2011</paragraph>
                        <paragraph>Warnings and Precautions, Use in Pregnant Women with Mechanical Heart Valves <linkHtml href="#s5.5">(5.5)</linkHtml>   10/2011</paragraph>
                     </text>
                  </highlight>
               </excerpt>

この XML では、次を<code code="43683-2"...>使用してタグに到達しました。

for (Element e : doc.select("code")) {
            if (e.attr("code").trim().equals("43683-2")){
            //codes
            }
}

では、タグの後の最初の タグに到達するにはどうすればよいでしょうか? XML には複数の タグがあり、その特定のコードの後に​​最初のタグを取得したいだけです。<highlight><code code="43683-2"...><highlight>

私は JSOUP やその他のパーサーの経験がないので、どんな助けも非常に貴重です。

よろしく。

4

1 に答える 1

0

クラスのnextElementSiblingメソッドを使用できます:Element

元:

for (Element e : doc.select("code")) {
    if (e.attr("code").trim().equals("43683-2")) {
        Element firstHighlight = null;     
        Element sibling = e.nextElementSibling();
        while (sibling != null && firstHighlight == null) {
            if (sibling.tagName().equals("highlight")) {
                firstHighlight = sibling;
            } else {
                sibling = sibling.nextElementSibling();
            }
        }
    }
}
于 2013-07-11T10:31:10.420 に答える