나는 다음과 같습니다 큰 XML 문서를 가지고 :파이썬 XML 쿼리 GET 부모
<Node name="foo">
<Node name="16764764625">
<Val name="type"><s>3</s></Val>
<Val name="owner"><s>1</s></Val>
<Val name="location"><s>4</s></Val>
<Val name="brb"><n/></Val>
<Val name="number"><f>24856</f></Val>
<Val name="number2"><f>97000.0</f></Val>
</Node>
<Node name="1764466544">
<Val name="type"><s>1</s></Val>
<Val name="owner"><s>2</s></Val>
<Val name="location"><s>6</s></Val>
<Val name="brb"><n/></Val>
<Val name="number"><f>265456</f></Val>
<Val name="number2"><f>99000.0</f></Val>
</Node>
...
</Node>
내 임무는 부모 노드의 값을 얻을 수 있습니다 다음을 수행하여 1,764,466,544 (2 노드의 이름 값) 검색 노드 이름의 하위 요소가 "number"인지 확인합니다. 265456
XPath 및 ElementTree에서 읽는 힙을 수행했지만 실제로 쿼리를 시작할 위치가 아직 확실하지 않습니다. 예제를 찾는 중 ... 결과로 상위 노드를 찾을 수 없습니다.
아직 새로운 python .. 모든 제안을 주시면 감사하겠습니다. (A DOM 파서를 사용하는 경우)
감사
@itwb - 필자는 Python에서 XPath를 시도한 적이 없으므로, 그 부분은 당신에게 달려 있지만 위의 XPath는 추상으로 작동합니다. 예를 들면 다음과 같습니다. http://www.xmlme.com/XpathTool.aspx –
그래, 고마워. 이제이 오류가 발생합니다 : SyntaxError : 요소의 절대 경로를 사용할 수 없습니다. – itwb
여기선 익숙하지 않은 지역이지만 [이 링크] (http://nltk.googlecode.com/svn/trunk/doc/api/nltk.etree.ElementPath-pysrc.html)에서는 XPath 표현식에 대해 다음 코드를 보여줍니다. '/':'SyntaxError ("요소에 절대 경로를 사용할 수 없습니다")를 발생시킵니다. 어쩌면 상대적인 표현을 시도할까요? 이 'Node/Node [Val [@ name ='number ']/f ='265456 ']/@ name' 또는이'Node/Node [Val [@ 이름 ='번호 ']/f ='265456 ' ]/@ name' –