2013-12-11 158 views
-3

我有以下的XML我想xml.dom.minidom模块XML解析错误的特殊字符

<?xml version="1.0" encoding="UTF-8"?> 
    <RootTag> 
     <InnerTag> 
       <MyValue>"< here is special char."</MyValue> 
     </InnerTag> 
</RootTag> 

我为上面的XML

import xml.dom.minidom 
xml.dom.minidom.parse('input_xml') 

解析下面的代码片段解析,但我得到以下错误:

 parser.Parse(buffer, 0) 
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 4, column 26 

以上错误只在我提供'& '或' 在myvalue的标签

所以提供<',

如何解决这个问题? 我不希望使用转义序列&lt;等。 改变我的XML,我想用“”(引号)

+0

向下选民。请提意见 –

+0

我没有downvote,但你不会是能够对XML使用XML解析器不是格式良好的。你可能不希望转义'&'或'<',但除了'CDATA'部分外你没有别的选择(例如参见eclaird的回答)。 –

回答

3

你的例子不是格式良好的XML。在标签以外的其他地方,XML不允许使用<。你的数据需要被包裹在CDATA或转义为&lt;

<![CDATA[< here is special char.]]>