用ASCII编码保存xml文件
本文关键字:xml 文件 保存 编码 ASCII | 更新日期: 2023-09-27 17:50:34
我有一个使用OpenCV在c++程序中读取xml文件的程序。我想用c#程序修改我的xml文件。当我使用XDocument
类的Save
函数时,我得到以下错误:"流中无效字符"
检查流时,包含以下字符串:
<?xml version="1.0" encoding="utf-8"?>
我认为开始字符是因为utf-8
,所以我用这种方法将我的xml保存为ASCII
格式。我的xml文件的编码改为ascii,但是在xml文件中编写了encoding="us-ascii"
。我的问题是,OpenCv检查编码是否为ASCII
,因为它是写us-ascii
,它抛出异常。是否有任何解决方案来编写ASCII
的编码属性在xml中保存的XDocument?
您可以通过创建一个新的Encoding
类并像这样重写WebName
来实现:
public class NonUsAsciiEncoding : ASCIIEncoding
{
public override string WebName
{
get
{
return "ascii";
}
}
}
private void CreateXml()
{
XmlTextWriter xmlwriter = new XmlTextWriter("c:''test.xml", new NonUsAsciiEncoding());
XDocument xdoc = new XDocument(
new XElement("Test")
);
xdoc.Save(xmlwriter);
xmlwriter.Close();
}