Oys*_*sio 2 c# xml xmldocument
我有一个xml文件,我需要修改并将其写回输出文件.问题是结果outputfile在根声明中包含一个额外的属性"standalone",它在原始输入文件中不存在.有什么办法可以阻止XmlDocument添加这个属性吗?
我试过的代码:
//read input xml
XmlDocument xDoc = new XmlDocument();
xDoc.Load(originalFile);
//do some stuff
//....
//write back to output
using(XmlTextWriter xml2 = new XmlTextWriter(outputFile, Encoding.UTF8) { Formatting = Formatting.Indented })
{
xDoc.CreateXmlDeclaration("1.0", null, "");
xDoc.Save(xml2);
}
Run Code Online (Sandbox Code Playgroud)
inputfile包含这个:
<?xml version="1.0" encoding="UTF-8" ?>
...
Run Code Online (Sandbox Code Playgroud)
output.xml包含:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
...
Run Code Online (Sandbox Code Playgroud)
该独立的参数应该是null或String.empty.
xDoc.CreateXmlDeclaration("1.0", null, null);
Run Code Online (Sandbox Code Playgroud)
也CreateXmlDecleration只是创建一个声明对象.您仍然需要将其添加到文档中,如下所示:
XmlDeclaration xDecl = xDoc.CreateXmlDeclaration("1.0", null, null);
if (xDoc.FirstChild.NodeType == XmlNodeType.XmlDeclaration)
xDoc.ReplaceChild(xDecl, xDoc.FirstChild);
else
xDoc.InsertBefore(xDecl, xDoc.DocumentElement);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3590 次 |
| 最近记录: |