2013-04-08 7 views
2

저는 Python (2.7)에서 cElementTree iterparse를 사용하여 XML 속성 값을 검색하는 방법을 찾으려고합니다. 나는 표준 입력에서 빅 데이터를 처리하고있어Python iterparse를 사용하여 XML 속성 값 검색

context = ET.iterparse(sys.stdin, events=('start','end')) 
context = iter(context) 
event, root = context.next() 

for event, elem in context: 
    if event == 'end' and elem.tag == 'record': 
     # get the attributes!! 
    elem.clear() 
    root.clear() 

:

<root> 
    <record attr1="a" attr2="b" attr3="c" ... /> 
    <record attr1="x" attr2="y" attr3="z" ... /> 
    ... 
</root> 

내 코드는 다음과 같은 것입니다 : 내 XML이 같은 것입니다. 나는 이것을 알아내는 행운이 없다. 누군가가 이것을 어떻게 할 수 있었는지 말해 줄 수 있습니까?

답변

3

아차, 종류의, 내 얼굴을보고 : http://docs.python.org/2/library/xml.etree.elementtree.html#element-objects

요약 :

elem.get('attr_name', default_value) 

또는

for name, value in elem.items(): 

또는

elem.attrib() - dictionary 

내가해야을 또한 그것이 필요하다고 덧붙인다. 오픈 브라켓이 필요하지 않은 elem.attrib을 : 호출하여

... 
if event == 'start' and elem.tag == 'record': 
... 
+0

사전을 검색하는 올바른 방법은 다음과 같습니다 질문에 게시 코드를 수정 세리 – ealbert