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
Python 如何检查标记是否包装在CDATA标记中?_Python_Xml_Beautifulsoup_Cdata - Fatal编程技术网

Python 如何检查标记是否包装在CDATA标记中?

Python 如何检查标记是否包装在CDATA标记中?,python,xml,beautifulsoup,cdata,Python,Xml,Beautifulsoup,Cdata,我有以下xml: <tag-name lang="en_GB"><![CDATA[Contents 123]]></tag-name> <tag-name lang="en_US"><![CDATA[Contents 456]]></tag-name> 但是,当我打印出soup(完全或使用soup.find('tag-name')时,我会得到以下结果: <tag-name la

我有以下xml:

<tag-name lang="en_GB"><![CDATA[Contents 123]]></tag-name>
<tag-name lang="en_US"><![CDATA[Contents 456]]></tag-name>
但是,当我打印出soup(完全或使用soup.find('tag-name')时,我会得到以下结果:

<tag-name lang="en_GB">Contents 123</tag-name>
<tag-name lang="en_US">Contents 456</tag-name>
Contents 123
目录456
正如您所看到的,CDATA包装已经消失。我现在的问题是,是否可以或:

  • 不删除汤中的CDATA标记
  • 了解标记是否包装在CDATA标记中(以便我可以手动将其添加回)

我的最终目标是更改字符串值('Contents 123'和'Contents 456')并将该XML返回给用户,而不更改XML的其余部分(如删除CDATA标记).

必须查看
xmltodict
尝试使用
html。解析器
而不是
xml
必须查看
xmltodict
尝试使用
html。解析器
而不是
xml
<tag-name lang="en_GB">Contents 123</tag-name>
<tag-name lang="en_US">Contents 456</tag-name>