2010-03-18 60 views
-1

我有一個XML解析器阻塞的XML文件。 它的一部分是:合法使用XML中的CDATA

<closedDeal><customer><![CDATA[ABC ]]></customer></closedDeal> 

我得到的錯誤是

The literal string ']]>' is not allowed in element content. Error processing resource 

什麼是使用CDATA的正確方法是什麼? 我需要CDATA,因爲數據是從Excel中讀取的,並且可能包含非法字符,如ALT + ENTER空格。

請幫忙。 謝謝。

+0

你能張貼導致該錯誤代碼例如,在.NET我成功地解析這個XML? – 2010-03-18 08:27:09

+0

雅,錯誤是在其他地方,我沒有發佈在這裏:) – idazuwaika 2010-03-18 08:41:12

回答

2

你在使用什麼語法分析器?你展示的樣本絕對是一個有效的XML。使用下面的代碼

<?xml version="1.0" encoding="utf-8" ?> 
<closedDeal> 
    <customer><![CDATA[ABC ]]></customer> 
</closedDeal> 

using System; 
using System.Xml.Linq; 
using System.Xml.XPath; 

public class Program 
{ 
    static void Main(string[] args) 
    { 
     var doc = XElement.Load("test.xml"); 
     doc.XPathSelectElement("//customer"); 
     Console.WriteLine(doc.Value); 
    } 
} 
+0

錯誤..好的謝謝。 錯誤是在我沒有放在這裏的更長的代碼。有關閉]]>但沒有開放<!CDATA [某處。你的確認,它應該有助於鼓勵我調試。謝謝。 – idazuwaika 2010-03-18 08:39:50