現在Javaを使用して値を抽出する興味深い多層ネストされたXMLがあります。Javaを使用してネストされたXMLの隣接ノードから値を抽出する最適な方法
このXMLのすべてのノードには汎用タグがあり、各タグには一般的なキーワードがあります。
抽出したい値は多くのレイヤーが深く、それを識別する方法は一般的なキーワード "NumericalValue"(同じキーワードを持つ多くのノードがあります)であるキーワードではありません。
一般的なキーワード "WordRepresentation"(同じキーワードで多くのノードがあります)と値 "Customer ID"を持つノード(その上に> = 1ノード以上)があります。確かに、「顧客ID」という値が存在する場合、下に1つ以上のノードがあると、キーワード「NumericalValue」とその値を見つけることができます。
私が望む値を抽出するロジックは、まず "Customer ID"という値が含まれているレベルが見つかるまでネストされたXMLのラップを解除し、何とかそのレベルをメモして同じレベルでナビゲートしますキーワード "NumericValue"を見つけて値を記録するまで次のノードを検索します。
ネストされたXML内で特定の値を検索し、同じレベルで2回目の検索を行うには良い方法がありますか?以下は
はXMLの例です。
<xml>
<layer 1>
<layer 2>
</layer 2>
<layer 2>
<layer 3>
<layer 4>
<layer 5>
<layer 6>
<layer 7 keyword=WordRepresentaion>
<Value>Customer ID</Value>
</layer 7>
...
<layer 7 keyword=NumbericalValue>
<Value>453</Value>
</layer7>
...
</layer 6>
</layer 5>
</layer 4>
</layer 3>
</layer 2>
...
...
<layer 2>
</layer 2>
<layer 2>
</layer 2>
</layer 1>
は、私は私はあなたが何をしようとしている正確に理解のかはわからないが、あなたはjsoup
にを使用することができ、あなたの助け
に設定されています。ちょっと明確にするために、キーワード "NumericalValue"を持つノードの値を抽出しようとしています。しかし、そのキーワードを持つノードが多いので、同じレベルの1つ以上のノードを見て、別のノードに「顧客ID」という値があるかどうかを調べる必要があります。 – 000000000000000000000
@ 000000000000000000000私の答えのサンプルコードはそうすると思います。別のアプローチは、 'keyword = NumericalValue'ノードを直接検索し、その上にあるノードを見て、それらが' Customer ID'値を持っているかどうかを調べることです。まもなくこれを行う例を掲載します。 – Titus