Python 怎么解析 xml字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 怎么解析 xml字符串相关的知识,希望对你有一定的参考价值。

Python 解析 xml字符串?最好举个例子
刚刚在网上找到一个类似的例子,但是节点上有中文就会报错,这个怎么解决啊
#conding=utf-8
import xml.dom.minidom

1. 我上面这段xml代码,一开始没有注意看,在每一个元素的结尾元素中都含有转义符,这就是为什么我用xml解析插件时一直保报错的原因,因为他不是正规的xml格式。我的方法是用正则替换掉:re.sub(r'(<)\\(/.+?>)',r'\g<1>\g<2>',f_xml) 对于Python中的正则re的sub用法
2. 处理成正规的xml格式后,我这里还是用ElementTree来解析的,但在加载时又报错:
cElementTree.ParseError: XML or text declaration not at start of entity: line 2, column 0
这个错误我在网上没有找到合适的答案,不过根据字面意思来解决,就是在开头的地方有错误。这里我尝试这吧xml的文档声明给去掉了,居然没有报错。这里有些不理解为什么不能加? 我的方法:f_xml=test_xml.replace('<?xml version="1.0" encoding="gbk"?>','')
3. 然后再加载,就能获取到相应的节点了。
参考技术A
import xml.etree.ElementTree as Etree

xml_str = """<root><ot><title>i am title</title></ot></root>"""
notify_data_tree = Etree.fromstring(xml_str)
str_value = notify_data_tree.find("ot/title").text
print str_value #>> i am title

追问

刚刚网上找了一个例子,但是发现有中文节点就报错Non-ASCII character '\xe5' in file,这个怎么解决啊?你贴的例子有同样的问题

本回答被提问者采纳
参考技术B py有解析xml的模块。这种文章网上一搜一大堆。

python怎么解析xml文件

使用python开发时,由于python的开源生态圈非常的给力,对于实现同一个功能,往往在这方面的类库非常多,而开发者也同样面临着如何选择最佳的 类库作为辅助开发的工具。本文将记录本人在使用python处理xml格式数据时测试过的类库,有些类库由于先天不足,无法支持一些特性,涉及的类库或模 块有xml(python自带)、libxml2 、lxml 、xpath 。 参考技术A 利用beautifulsoup4进行解析

以上是关于Python 怎么解析 xml字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何从python中的字符串解析XML

Python-Json字符串和XML解析

java怎么解析文本文件中的soap报文

解析Xml数据错误:文本内容中发现无效字符怎么处理

python 从字符串中解析xml

在 Python xml.dom 中读取字符串而不解析