0

この質問はこのページの続きです

プロセス:関連するプロセス。XML ファイルを開き、特定のノードでいくつかの変更を行い、別の場所に保存します。

問題に直面しています: XML でいくつかの変更を行った後に保存すると、サポートされていないエンティティ参照が にö変換されöます。ソースのエンティティをそのまま保持したい ( ö)

とは同じ文字ですが、ソース xml にそのまま保持する必要がありますöö

XML ソース

<?xml version="1.0" encoding="US-ASCII"?>
<heads>
    <head type="TRANSFER">
        <headtext xml:lang="ENG" original="y">My Name &#x00F6;is Sinthiya</headtext>
    </head>
</heads>

期待される出力

<?xml version="1.0" encoding="US-ASCII"?>
<heads>
    <head type="TRANSFER">
        <headtext xml:lang="ENG" original="y">My Name &#x00F6;is Sinthiya</headtext>
    </head>
</heads>

今すぐ取得する

<?xml version="1.0" encoding="US-ASCII"?>
<heads>
    <head type="TRANSFER">
        <headtext xml:lang="ENG" original="y">My Name &#xF6;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);
}
4

0 に答える 0