环境:Python 2.6.5、Eclipse SDK 3.7.1、Pydev 2.3
我正在尝试使用 Python 解析和更改 XML 数据中的值,xml.dom.minidom
但我遇到了空白文本节点的问题。
当我将 XML 文件解析为 DOM 对象,然后使用 将其转换回字符串toxml()
时,在所有空白文本节点之后,结束的“描述”标签会变得混乱。
有谁知道问题是什么?
issue.py 的内容
from xml.dom import minidom
xml_dom_object = minidom.parse('news_shows.xml')
main_node = xml_dom_object.getElementsByTagName('NewsShows')[0]
xml_string = main_node.toxml()
print xml_string
news_shows.xml的内容(注意两个空白文本节点):
<NewsShows Planet="Earth" Language="English" Year="2012">
<NewsShow ShowName="The_Young_Turks">
<Description Detail="Best_show_of_all_time_according_to_many">True</Description>
<Description Detail="The_only_source_of_truth"></Description>
<Description Detail="Three_hours_of_truth_per_day">True</Description>
</NewsShow>
<NewsShow ShowName="The_Rachel_Maddow_Show">
<Description Detail="Pretty_great_as_well">True</Description>
<Description Detail="Sucks_badly">False</Description>
<Description Detail="Conveys_more_information_than_TYT"></Description>
</NewsShow>
</NewsShows>
脚本的输出(注意 2 个“描述”标签搞砸了):
<NewsShows Language="English" Planet="Earth" Year="2012">
<NewsShow ShowName="The_Young_Turks">
<Description Detail="Best_show_of_all_time_according_to_many">True</Description>
<Description Detail="The_only_source_of_truth"/>
<Description Detail="Three_hours_of_truth_per_day">True</Description>
</NewsShow>
<NewsShow ShowName="The_Rachel_Maddow_Show">
<Description Detail="Pretty_great_as_well">True</Description>
<Description Detail="Sucks_badly">False</Description>
<Description Detail="Conveys_more_information_than_TYT"/>
</NewsShow>