2010-02-28 5 views
1

배경 : 저는 C# -land에서 왔으므로 Xpath를 통해 노드와 값을 처리 할 수있는 것과 같은 것을 찾고 있습니다.Expat를 사용하여 파이썬에서 XML 구문 분석하기

여기 내 코드는 지금까지의 :

import urllib 
import sys 
from xml.parsers import expat 

url = 'http://SomeWebService.SomeDomain.com' 
u = urllib.urlopen(url) 

Parser = expat.ParserCreate() 
data = u.read() 
try: 
    Parser.Parse(data) 
except: 
    print "ERROR: Can't parse the XML" 
    sys.exit(0) 

내가 DOM 요소를 처리하기 위해 사용되어야한다 표준 무엇 lib 디렉토리로 해당 속성과 함께 객체 하나가 C#의 수는?

내가 NodeList를 노드처럼 뭔가를 찾고 있어요는 = Parser.SelectNodes ("XPath는")

답변

1

나는 당신이 xml.dom 패키지 중 하나, 또는 xml.etree.ElementTree를 사용하여 시도하면 더 많은 행운을 것 같아요. ElementTree는 일부 제한된 xpath 지원을 가지고 있으므로 익숙한 경우에는 최상의 선택이 될 수 있습니다.

+0

ElementTree의 XPath 지원 : http://effbot.org/zone/element-xpath.htm – Krab

+0

저는 여기를 찾고 있습니다 : http://bit.ly/baRkvP, 나는 목록을 볼 수 없습니다. 다른 XML DOM 구현. 사용 가능한 xml.dom pkg 목록 중 하나 이상을 가리킬 수 있습니까? (예제에 대한 링크가 포함 되었으면 좋겠습니까?) – bitcycle

+0

링크 된 매뉴얼의 다음 두 장에서는'xml.dom.minidom' [1]과'xml.dom.pulldom' [2]를 다룹니다. 지금은 어떤 예제도 생각할 수 없지만, DOM 조작에 익숙하다면 상당히 자연 스럽습니다. 즉, ElementTree가 사용자의 요구를 충족시킬 수있는 경우이를 권장합니다. [1] : http://docs.python.org/library/xml.dom.minidom.html [2] : http://docs.python.org/library/xml.dom.pulldom. HTML – Epcylon

관련 문제