Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何手动解析XML数据(没有XML.etree)_Python_Xml_Python 3.x_Parsing_Tags - Fatal编程技术网

Python 如何手动解析XML数据(没有XML.etree)

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数据。只是一些普通的东西

我使用了
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解析器,如