2012-01-27 59 views
0

我有一个包含一些C#代码的节点的xml文件。XmlDocument类无法加载包含C#代码节点的文件

<Script Name="WrapText"> 
     var sb = new System.Text.StringBuilder(); 
     int lastSpaceIndex = 0; 

      for(int i = 0; i < paragraph.length; i++) 
      { 
       var curChar = paragraph[i]; 
       sb.Append(curChar); 

       if (System.Char.IsWhiteSpace(curChar)) 
       { 
        lastSpaceIndex = i; 
       } 

       if (i % splitlength == 0) 
       { 
        if (lastSpaceIndex != 0) 
        { 
         sb[lastSpaceIndex] = '\n'; 
        } 
       } 
      } 

     return sb.ToString(); 
</Script> 

当我尝试使用C#中的XmlDocument和XmlReader中的类像这样加载此:

 
    XmlReader xReader = XmlReader.Create(new MemoryStream(ASCIIEncoding.UTF8.GetBytes(imml)), _ReaderSettings); 
    XmlDocument xDoc = new XmlDocument(); 
    xDoc.Load(xReader); 

我得到这个错误:

 
    Name cannot begin with the ' ' character, hexadecimal value 0x20. Line 25, position 21. 

如果我删除了环线它会毫无问题地加载文件。

这是怎么发生的?

+0

如果你改变你的xml文件,让c#代码附近有CDATA,它工作吗? – Anton 2012-01-27 02:09:58

回答