私はw3c domライブラリを使用してXMLを解析しています。私はelement.getParentNode()
Javaを使用してXMLの要素のN番目の親を取得する方法
入力XML
<abc cd="1">
<weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0">
<current_conditions>
<condition data="Clear">
<item abc ="1" />
</condition>
<temp_f data="49"/>
<temp_c data="9"/>
</current_conditions>
</weather>
</abc>
を使用しています下のXMLの例.FORここで私は私がElement eleItem= /item
を持っていると私のようにそれをやっている親/weather
に取得する必要があります要素の第三の親を必要とする:
(Element) eleItem.getParentNode().getParentNode().getParentNode();
xpath
これは正しい方法ではないようですので、他の方法がありますか? のようなものgetXPathParent(eleItem, "../../..")
expr.evaluate(doc、XPathConstants.NODE);私の要件はElementアイテムに基づいていますが、ドキュメント全体でノードxpathを探しています。複数の 'weather'タグがあると想像してください。アイテム要素を使って、私はそのパラレントに到達することができます – 2FaceMan
' item'タグを持たない 'weather'タグがあることを示唆していますか? 'weather'タグに' item'を付けるだけでいいのですか?最初に要素 'item'をどうやって取得していますか? – SomeDude
これは、要素要素のリストを持つエキサイティングなコードです。アイテム要素からは、親weather要素が必要です。 – 2FaceMan