2010-07-24 3 views
0

하나의 XML 파일이 있습니다.ElementTree를 사용하는 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> 

,174 51,515,
<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> 

이제 itemtree를 사용하여 itemdate 등 모든 항목을 개별적으로 얻고 싶습니다. 어느 누구도 나를 도울 수 있습니까?

RGDS, sje397으로

Nimmy

+1

해당 XML을 재구성 할 수있는 옵션이 있다면 꼭해야합니다. 이와 같은 XML은 각 아이템의 속성이 각 ''요소 내에 나타나는 중첩되어야합니다. – sje397

답변

5

는 옵션이있는 경우 당신이 그것을 재구성해야 주석에 썼다.

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

또는 사용 속성 : 어느 항목 태그에 모두 넣어

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

사람들은 태그 스키마를 통해 특정 순서로 강제 할 수있는 동안은, 비록 순서에 상관없이 속성 (주로 동일/DTD)를 제외하고는 당신이 가지고 있어야하고 나는 그것이 맛의 문제라고 생각한다. 물론 두 가지를 혼합 할 수는 있지만 정보를 추출하는 것은 복잡합니다 (속성 대 태그를 얻기 위해 별도의 메서드를 사용해야하므로). 어쨌든 하나의 item 태그를 얻은 다음 모든 [children | attributes]를 얻습니다.

xml이 절대적으로 이러한 방식으로 유지되어야한다면, 본질적으로 태그의 순서를 유지하는 SAX 파서를 살펴볼 수 있습니다. 이벤트 기반 접근 방식이 필요합니다.