python parse xml text
本问题已经有最佳答案,请猛点这里访问。
我想用python解析XML,但它是一个字符串,不是从文件中提取的。有人能帮我吗?
从文件中,您通常可以
1 2 | from xml.dom import minidom xmldoc = minidom.parse('~/diveintopython/common/py/kgp/binary.xml') |
对于字符串,可以将其更改为
1 2 | from xml.dom import minidom xmldoc = minidom.parseString( Your string goes here ) |
你可以用:
This method creates a StringIO object for the string and passes that on to parse().
您还可以对任何其他需要类似文件的对象的XML解析器使用Stringio的相同技术。
1 2 | import StringIO your_favourite_xml_parser.parse(StringIO.StringIO('<xml>...</xml>')) |
您也可以使用(xml.etree.CelementTree)。
1 2 3 4 5 6 7 8 9 10 11 | import xml.etree.cElementTree as ET aElement = ET.fromstring('<Root id="UUID_1"><Item id="id_Item" /></Root>') See Python help document Each element has a number of properties associated with it: a tag which is a string identifying what kind of data this element represents (the element type, in other words). a number of attributes, stored in a Python dictionary. a text string. an optional tail string. a number of child elements, stored in a Python sequence |
也可以使用lxml。我的初创公司(http://dealeites.com)每天都要进行大量的XML处理。我已经尝试过用Python提供的几乎所有XML库。LXML是可用于XML处理的最佳库。
你也可以尝尝美味的汤。它非常适合于HTML解析,但是是LXML的一个很好的替代方案。
LXML示例:
1 2 3 | from lxml import etree; parsedfeed = etree.xml('your xml here'); |
靓汤示例:
1 2 3 | from BeautifulSoup import BeautifulStoneSoup; soup = BeautifulStoneSoup('your xml here'); |