python解析xml字符串
A. python dom解析xml
应该是你的XML文件结构有问题。
把<resources>改为:
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
B. PYTHON脚本解析XML文件的问题
对于python来说,它只是打印了一些字符串而已,和打印hello world之类的字符串没有任何区别。html结构对浏览器来说才是有用和必须的,body标签最后才结束,是因为中间要输出body的内容啊,一个论坛主页面不能body是空的啊。
你明白了吗?
C. python怎么读取xml
引入XML组件:import xml.dom.minidom。
创建一个xml文件,<?xml version="1.0" encoding="utf-8"?>。
相关推荐:《Python教程》
加载读取XML文件,xml.dom.minidom.parse('abc.xml'),这是xml文件的对象。
获取XML文档对象,root = dom.documentElement。
获取标签之间的数据 ,rootdata.getElementsByTagName('caption')。
总结一下xml对象,node.getAttribute(AttributeName),获取XML节点属性值,node.getElementsByTagName(TagName),获取XML节点对象集合,等等具体的查看手册。
D. Python get返回xml解析问题
你这贴的代码格式都不调一下,看的好痛苦。。。。。
另:贴一份我早期写的一个解析xml转换为字典的代码,支持中文
细微部分,你自己调
importxml.etree.ElementTreeasET
importos
'''
将指定目录下的xml文件转换为字典dict
strXmlFileName:xml文件name
strElementPath:xml节点
dictSubElement:dict用于返回
eg.my_dict=xml2dict('xxx.xml','node',my_dict)
'''
defxml2dict(strXmlFileName,strElementPath,dictSubElement):
elementList=[]
dictSubElement.clear()
try:
eTree=ET.parse(os.getcwd()+strXmlFileName)
exceptException,errorinfo:
print"xml2dict:ET.parse(%s)generateexception,errorinfo:%s"%((os.getcwd()+strXmlFileName),errorinfo)
raiseerrorinfo
try:
elementList=eTree.findall(strElementPath)
exceptException,errorinfo:
print"xml2dict:eTree.findall(%s)generateexception,errorinfo:%s"%(strElementPath,errorinfo)
raiseerrorinfo
pathList=[]
forelementinelementList:
forsubelementinelement.getchildren():
#print"tag:%s,text:%s"%(subelement.tag,subelement.text.encode("utf-8"))
ifsubelement.textisnotNone:
ifsubelement.taginpathList:
dictSubElement[subelement.tag]=(os.getcwd()+subelement.text).encode('utf-8')
else:
dictSubElement[subelement.tag]=subelement.text.encode('utf-8')
else:
dictSubElement[subelement.tag]=""#将None赋值一串空字符串
E. 用python解析XML格式的字符串
你这样的数据还没有用正则来的简单
r'(?<=\<Result\>)(.+?)(?=\</Result\>)'
用XML会比较麻烦:
dom1 = minidom.parseString(xml)
result = dom1.getElementsByTagName("Result")
result = result[0].childNodes[0].nodeValue
F. python如何解析xml格式的字符串,最好解析成键值对的那种,
有现成的库可以用,xml.etree.ElementTree,或者xml.dom.minidom,ET相对来说简单一些,而minidom配上node缓存也是一种不错的实现,原理都一样,就是把xml先转化为dom树。这两个库可以参考官方文档,xml以及dom树可以参考w3school
G. Python 怎么解析 xml字符串
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. 然后再加载,就能获取到相应的节点了。
H. Python编写一个程序以尝试解析XML/HTML标签.
要给这段文字添加一个 root 标签,然后对里面的 node 进行遍历。root 标签的名字可以任意定(但是必须添加一个),我这里使用的 root 命名,对于其它的名字也一样。如果你是直接读取的 XML 文件,而不是字符串,可以将文件打开,然后把文件句柄传入 ElementTree.parse() 函数,最后对其返回值进行遍历。
fromxml.etreeimportElementTree
parsed=ElementTree.XML('''<root>
<composer>WolfgangAmadeusMozart</composer><author>SamuelBeckett</author><city>London</city>
</root>''')
outstr=[]
fornodeinparsed:
outstr+=['%s:%s'%(node.tag,node.text)]
print(''.join(outstr))
I. 怎样优雅解决 python 解析 xml gb2312 编码的问题
python ElementTree处理gbk(或者gb2312)编码的XML文件的方法:
1,py文件的编码是utf-8,即在文件最开始有如下语句声明编码方式:
#-*-coding: utf-8-*-
2,读取文件内容时转码为utf-8的:
xml_file_text = open(xml_file_name).read().decode('gbk').encode('utf-8')
这样在处理过程中均是utf-8编码的字符串