0

1つのxmlファイルがあります。

<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Salary</GroupName>
<EditId>undefined</EditId>

<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Salary</GroupName>
<EditId>undefined</EditId>

<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Trfr fm Savings</GroupName>
<EditId>undefined</EditId>

<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Dividend</GroupName>
<EditId>undefined</EditId>

<Item>Item value</Item>
<Itemdate>24/07/2010</Itemdate>
<Total>1</Total>
<Itemcategory>Income</Itemcategory>
<GroupName>Dividend</GroupName>
<EditId>undefined</EditId>

今、私はすべてのアイテム、itemdateなどがelementtreeを別々に使用していることを取得したいと思います。誰かが私を助けることができますか?

Rgds、

ニミー

4

1 に答える 1

5

sje397 がコメントに書いたように、オプションがあれば再構築する必要があります。すべてアイテムタグに入れるか:

<item>
    <value>...</value>
    <date>...</date>
    ...
</item>

または属性を使用して:

<item value="..." date="..." ... />

これらは大部分が同等です (ただし、属性は任意の順序で表示されますが、タグはスキーマ/DTD を介して特定の順序に強制できます) 例外はありますが、それは好みの問題だと思います。もちろん、2 つを混在させることもできますが、それでは情報の抽出が複雑になります (属性とタグを取得するには別のメソッドを使用する必要があるため)。いずれにせよ、アイテム タグを 1 つ取得するだけで、そのすべての [children|attributes] を取得できます。

xml が絶対にこのままである必要がある場合は、本質的にタグの順序を保持する SAX パーサーを調べることをお勧めします。ただし、イベントベースのアプローチが必要です。

于 2010-07-24T10:45:47.757 に答える