2010-03-18 49 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