私はXML文書とそこからデータを抽出するために使用できるいくつかのパスを持っています。XPathを使用して文書内の特定の場所から要素を抽出する
例パス:
Bill/Id
Bill/Line/AccountBasedExpenseLineDetail
トリッキーな部分は、私は文書の同じ「領域」からの各データポイントを抽出する必要があることです。例えば、私はこのような文書を与えた場合:
<Bill domain="QBO" sparse="false">
<Line>
<AccountBasedExpenseLineDetail>
1
</AccountBasedExpenseLineDetail>
</Line>
</Bill>
<Bill domain="QBO" sparse="false">
<Id>148</Id>
</Bill>
が、私は実際に上記のパス与えられた何も返さないする必要があるだろう、<AccountBasedExpenseLineDetail>
と<Id>
タグは異なる<Bill>
タグ内で発見されているため。文書はこのように見えた場合
しかし、:彼らは両方とも同じBill
オブジェクトに含まれているしているので
<Bill domain="QBO" sparse="false">
<Id>148</Id>
<Line>
<AccountBasedExpenseLineDetail>
1
</AccountBasedExpenseLineDetail>
</Line>
</Bill>
私は、Bill/Line/AccountBasedExpenseLineDetail
パスにBill\Id
パスの148と1を返します。
深くネストされたオブジェクトの場合と同様に、より複雑なテーブルの要件が満たされているため、これはかなり難しいです。私はこの問題を少し簡単にするかもしれないいくつかのXPath機能がありますか?今のように、私はかなり複雑な再帰的なソリューションを考えることができますが、私が何か明白なものを見逃していると、それに取り掛かりたくありません。 Bill
自体がAccountBasedExpenseLineDetail
子要素を持っているLine
子要素を持っている場合にのみ