这个问题是本页的延续
PROCESS:涉及的过程,打开XML文件并在特定节点进行一些修改并将其保存回另一个位置。
面临问题:在对 XML 进行一些修改后保存时,不受支持的实体引用(如ö
转换为ö
. 我想保留源中的实体(ö
)
正如ö
和ö
是相同的字符,但我需要保留它在源 xml 中的样子。
XML 源
<?xml version="1.0" encoding="US-ASCII"?>
<heads>
<head type="TRANSFER">
<headtext xml:lang="ENG" original="y">My Name öis Sinthiya</headtext>
</head>
</heads>
预期输出
<?xml version="1.0" encoding="US-ASCII"?>
<heads>
<head type="TRANSFER">
<headtext xml:lang="ENG" original="y">My Name öis Sinthiya</headtext>
</head>
</heads>
马上行动
<?xml version="1.0" encoding="US-ASCII"?>
<heads>
<head type="TRANSFER">
<headtext xml:lang="ENG" original="y">My Name öis Sinthiya</headtext>
</head>
</heads>
我的代码
string path = @"C:\work\myxml.XML";
string pathnew = @"C:\work\myxml_new.XML";
XmlDocument doc = new XmlDocument();
doc.Load(path);
using (var writer = XmlWriter.Create(pathnew, new XmlWriterSettings { Indent= true, Encoding = Encoding.ASCII }))
{
doc.Save(writer);
}