2013-12-11 156 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.]]>