Python中的xml与dict的转换xml 是指可扩展标记语⾔,⼀种标记语⾔类似html,作⽤是传输数据,⽽且不是显⽰数据。可以⾃定义标签。
Python 中的xml和dict 互相转化。使⽤的模块是xmltodict。
import re
import xmltodict
xml="""<notes>
<to>demo</to>
<from>哈哈</from>
<header>呵呵</header>
<body>"尼古拉斯赵四"</body>
</notes>"""
dict = {"goods":{"fruits":{"name":"melon","coloer":"red","nut":"walnut"}}}
class XmlToDict(object):
def get_dict(self,xml):
"""xml to dict"""
return xmltodict.parse(xml_input=xml,encoding="utf-8")
def get_xml_content(self,orderdict):
for i in orderdict:
print(orderdict[str(i)])
def get_content(self,xml):
first_title = re.match(r"<.*>", xml).group()[1:-1]
orderdict = _dict(xml)
orderdict=orderdict[first_title]
<_xml_content(orderdict)
def dicttoxml(self,dict):
"""dict to xml"""
return xmltodict.unparse(dict,encoding="utf-8")
if __name__ == '__main__':
XmlToDict().get_content(xml)
ret=XmlToDict().dicttoxml(dict)python处理xml文件
print(ret)
python 中还有⼀个模块dicttoxml ,将字典转成xml
mport dicttoxml
dict= {"goods":{"fruits":{"name":"melon","coloer":"red","nut":"walnut"}}}
ret_xml = dicttoxml.dicttoxml(dict,custom_root="Request",root=True).decode("utf-8") # 默认是byte 类型,转成str。
print(type(ret_xml))
利⽤循环字典转成xml
dict = {
"fruit": "apple",
"goods": "hamburger"
}
def dicttoxml(iKwargs):
xml = []
for k in sorted(iKwargs.keys()):
v =(k)
xml.append("<{key}>{value}</{key}>".format(key=k,value=v)) return "<xml>{}</xml>".format("".join(xml))
ret=dicttoxml(dict)
print(ret)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论