我一直在使用文本文件中的XML数据。只是一些一般的东西。
我使用xml.etree
及其命令,但现在我想知道如何手动删除标记并将所有数据写入新文件。
我认为需要大量的str.split
s或循环来摆脱标记。
我现在要启动它(不工作,只复制数据):
def summarizeData(fileName):
readFile = open(fileName, "r").read()
newFile = input("")
writeFile = open(newFile, "w")
with open(fileName, "r") as file:
for tags in file:
Xtags = tags.split('>')[1].split('<')[0]
writeFile.write(readFile)
writeFile.close
到目前为止,它只是复制数据,包括标签。我认为拆分标签可以解决问题,但似乎没有做任何事情。可以手动完成,还是必须使用xml.etree?
答案 0 :(得分:2)
您没有看到任何更改的原因是您只是将您从fileName
读取的数据写入此行中的readFile
:
readFile = open(fileName, "r").read()
...直接回到writeFile
这一行:
writeFile.write(readFile)
你们之间没有任何事情(Xtags
等)对readFile
有任何影响,所以它会按原样写回来。
除了这个问题,您可以通过一些工作来解决这个问题......解析XML远不如您想象的那么简单。你必须考虑跨越多行的标签,可以出现在属性值中的尖括号,评论和CDATA部分,以及许多其他微妙的问题。
总结:使用真正的XML解析器,如xml.etree。