Python 如何手动解析XML数据(没有XML.etree)
我一直在玩文本文件中的XML数据。只是一些普通的东西 我使用了Python 如何手动解析XML数据(没有XML.etree),python,xml,python-3.x,parsing,tags,Python,Xml,Python 3.x,Parsing,Tags,我一直在玩文本文件中的XML数据。只是一些普通的东西 我使用了xml.etree及其命令,但现在我想知道如何手动删除标记并将所有数据写入新文件 我想需要大量的str.splits或循环才能去掉标记 我现在要开始(不工作,只是复制数据): def摘要数据(文件名): readFile=open(文件名为“r”).read() newFile=input(“”) writeFile=open(新文件,“w”) 打开(文件名为“r”)作为文件: 对于文件中的标记: Xtags=tags.split('
xml.etree
及其命令,但现在我想知道如何手动删除标记并将所有数据写入新文件
我想需要大量的str.split
s或循环才能去掉标记
我现在要开始(不工作,只是复制数据):
def摘要数据(文件名):
readFile=open(文件名为“r”).read()
newFile=input(“”)
writeFile=open(新文件,“w”)
打开(文件名为“r”)作为文件:
对于文件中的标记:
Xtags=tags.split('>')[1].split('您没有看到任何更改的原因是您只是将从fileName
读取的数据写入此行中的readFile
:
readFile = open(fileName, "r").read()
writeFile.write(readFile)
…直接返回到此行中的writeFile
:
readFile = open(fileName, "r").read()
writeFile.write(readFile)
您在这两者之间所做的任何事情(使用Xtags
等)都不会对readFile
产生任何影响,因此它会按原样被写回
除了这个问题,您只需做一点工作就可以解决……解析XML远没有您想象的那么简单。您必须考虑跨多行的标记、可以出现在属性值、注释和节中的尖括号,以及许多其他微妙的问题
总之:使用真正的XML解析器,如。您没有看到任何更改的原因是您只是将从文件名
读取的数据写入这一行中的读取文件
:
readFile = open(fileName, "r").read()
writeFile.write(readFile)
…直接返回到此行中的writeFile
:
readFile = open(fileName, "r").read()
writeFile.write(readFile)
您在这两者之间所做的任何事情(使用Xtags
等)都不会对readFile
产生任何影响,因此它会按原样被写回
除了这个问题,您只需做一点工作就可以解决……解析XML远没有您想象的那么简单。您必须考虑跨多行的标记、可以出现在属性值、注释和节中的尖括号,以及许多其他微妙的问题
总之:使用真正的XML解析器,如