この質問はこのページの続きです
プロセス:関連するプロセス。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);
}