我正在处理一个处理C#中字符串本地化的大型XML文件。我没有编写生成XML的程序,但我可以访问源代码,我想修改它,因为它当前输出1.0作为版本,但它包含文档中的非法字符。
以下是代码当前的写法。
XmlTextWriter xr = new XmlTextWriter(fileName, Encoding.UTF8);
xr.Formatting = Formatting.Indented;
xr.Indentation = 4;
xr.WriteStartDocument();
xr.WriteStartElement("tlkFile");
// ...
但它使用XML版本1.0的WriteStartDocument()
documentation states。我知道这不起作用,因为我正在编写一个修改此XML的java解析器,它无法加载,因为它具有不允许的unicode字符。特别是
似乎取消了。我不知道为什么会出现这种情况......文件大约有500000行。
我在java解析器将其抓取到1.1之前手动更改了标头,并且它工作正常。从技术上讲,我可以将XML修改为字符串,然后解析它,但我宁愿使用适当的XML。
我找不到任何改变这个的方法。我无法真正改变工具来使用其他形式的XML编写,因为它是一个使用的共享开源项目,而且我对C#并不是那么好。
这有诀窍吗?
答案 0 :(得分:1)
使用以下过程:

<强>参考强>
答案 1 :(得分:0)
你可以用WriteRaw替换WriteStartDocument()(&#34;&lt;?xml version = \&#34; 1.1 \&#34;?&gt;&#34;)并删除WriteEndDocument()?