使用C#.Net应用程序的XMLTextWriter到WiterData

时间:2010-11-01 08:24:00

标签: xml

我们有数千个数据写入XML文件&写数据我们使用XmlTextWriter。

我们可以在编写XML文件时解决一个问题,

写入属性时出错:无效的高代理字符(0xDC50)。高代理字符必须具有范围(0xD800 - 0xDBFF)的值。

作为错误解决方案:我们决定用空格替换有问题的数据..

但是,当WriterState出错时,XMLTextWriter不允许写任何内容。 (它说:状态为错误的Token StartAttribute会导致XML文档无效。)

以下是重置错误的示例代码:

XmlTextWriter writer = new XmlTextWriter(“C:\ employees.xml”,Encoding.UTF8);   writer.WriteStartDocument();   writer.WriteStartElement( “雇员”);

           try
            {
                string data = "뿿�� ";
                writer.WriteAttributeString("Company", data);
            }
            catch (Exception ex)
            {
              //Here I Got Error For surrogate character                     
                writer.WriteAttributeString("Company", "");//Trying To Write Again   
            }

有没有办法写入属性值,它会出现错误状态?

感谢。

1 个答案:

答案 0 :(得分:0)

在将数据字符串添加到编写器之前检​​查数据字符串或使用CDATA块:http://msdn.microsoft.com/en-us/library/system.xml.xmltextwriter.writecdata.aspx