2012-01-27 58 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

回答