Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.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/13.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
如何使用ElementTree python在xml解析器中处理CDATA?_Python_Xml_Xml Parsing_Elementtree_Cdata - Fatal编程技术网

如何使用ElementTree python在xml解析器中处理CDATA?

如何使用ElementTree python在xml解析器中处理CDATA?,python,xml,xml-parsing,elementtree,cdata,Python,Xml,Xml Parsing,Elementtree,Cdata,我刚开始使用python,并尝试使用ElementTree解析xml文件。但问题是我有一个带有CDATA的标记,它在tree.write之后被删除。 所以基本上我有这个标签 <content><![CDATA[eclipse.ver=1&encoding/ <project>=UTF-8${line.sep}]]></content> =UTF-8${line.sep}]> 换成哪一种 <content>eclipse.ve

我刚开始使用python,并尝试使用ElementTree解析xml文件。但问题是我有一个带有CDATA的标记,它在tree.write之后被删除。

所以基本上我有这个标签

<content><![CDATA[eclipse.ver=1&encoding/ <project>=UTF-8${line.sep}]]></content>
=UTF-8${line.sep}]>
换成哪一种

<content>eclipse.ver=1&encoding/&lt;project&gt;=UTF-8${line.sep}</content>
eclipse.ver=1&encoding/project=UTF-8${line.sep}

我试着用谷歌搜索,但没有什么帮助。那么,有谁能帮助我,我如何才能在标记中获得完全相同的内容???

可能的重复我认为这个问题是输出xml文件,对xml标记进行硬编码。但是我想编辑包含CDATA的xml文件。这并不能回答问题。
from xml.etree.ElementTree import ElementTree
import re
l=[]
tree = ElementTree()
tree.parse("YOURFILE.xml")
root = tree.getroot()

for parent in root.findall('.//content/..'):
    for child in parent.findall("content"):
        if(child.text != None):
            l.append(child.text)