simplexml_load_字符串等效Python/Django
我试图在Python中找到xml解释函数(如simplexml_load_字符串),但没有成功:/ 假设我有一个字符串中的xmlsimplexml_load_字符串等效Python/Django,python,xml,django,simplexml,Python,Xml,Django,Simplexml,我试图在Python中找到xml解释函数(如simplexml_load_字符串),但没有成功:/ 假设我有一个字符串中的xml my_xml_string = """ <root> <content> <one>A value</one> <two>Here goes for ...</two> </content> </root>""" p
my_xml_string = """
<root>
<content>
<one>A value</one>
<two>Here goes for ...</two>
</content>
</root>"""
python/django中是否有任何等效对象
谢谢最近的可能是python标准库(或扩展版本)的一部分
设置属于类元素的元素,可以将其视为XML元素列表
e、 g
如果要使用名称,还可以通过XPath进行搜索
lxml还有一个模型,允许像“处理普通Python对象层次结构”一样访问元素。该模型更准确地匹配php用法,包括几个xml解析模块。最简单的可能是ElementTree
from xml.etree import cElementTree as ET
xml = ET.fromstring(my_xml_string)
print xml.find('.//content/one').text
print xml.find('.//content/two').text
非常常见,可能是Python中包含的最好的库(自版本2.5以来)
然而,就个人而言,我更喜欢权力和灵活性。“lxml.objectify”方法对于将大型XML dom解析为Python对象特别有用。来自XML.dom.minidom导入*
my_xml_string = """
<root>
<content>
<one>A value</one>
<two>Here goes for ...</two>
</content>
</root>"""
xml = parseString(xml_string)
result = xml.getElementsByTagName('one')[0].firstChild.data
my_xml_string=”“”
价值
这是。。。
"""
xml=parseString(xml\u字符串)
结果=xml.getElementsByTagName('one')[0].firstChild.data
这就成功了,现在 正是你想要的
In [1]: from lxml import objectify
In [2]: x = objectify.fromstring("""<response><version>1.2</version><amount>1.01</amount><currency>USD</currency></response>""")
In [3]: x.version
Out[3]: 1.2
In [4]: x.amount
Out[4]: 1.01
In [5]: x.currency
Out[5]: 'USD'
[1]中的:从lxml导入objectify
在[2]中:x=objectify.fromstring(“'1.21.01USD”“”)
在[3]:x.version中
Out[3]:1.2
在[4]中:x.金额
Out[4]:1.01
在[5]中:x.货币
Out[5]:“美元”
我不太喜欢ElementTree,也许我对语法有点不习惯。对我来说,xml.dom.minidom似乎更完整。我一定会调查lxml!谢谢minidom是最简单的,但也是最不通俗、功能最不完整的。我以前用过它来完成这项工作,但是如果你花很多时间使用XML,你很快就会放弃它。那么XML.dom.minidom呢?你可以使用它,但是你现在正在操作一个dom-lxml和元素树,试图使导航更“pythonic”,而不是特定于dom
from xml.etree import cElementTree as ET
xml = ET.fromstring(my_xml_string)
print xml.find('.//content/one').text
print xml.find('.//content/two').text
my_xml_string = """
<root>
<content>
<one>A value</one>
<two>Here goes for ...</two>
</content>
</root>"""
xml = parseString(xml_string)
result = xml.getElementsByTagName('one')[0].firstChild.data
In [1]: from lxml import objectify
In [2]: x = objectify.fromstring("""<response><version>1.2</version><amount>1.01</amount><currency>USD</currency></response>""")
In [3]: x.version
Out[3]: 1.2
In [4]: x.amount
Out[4]: 1.01
In [5]: x.currency
Out[5]: 'USD'