質問

私はxmlの一要素の値はunicode文字です。では、これANSIエンコード?

E.g.

<?xml version="1.0" encoding="utf-8"?>
<xml>
<value>受</value>
</xml>

<?xml version="1.0" encoding="Windows-1252"?>
<xml>
<value>&#27544;</value>
</xml>

私は直列化復元のXMLとを試みserializeでXmlTextWriterを指定するデフォルトエンコーディング(デフォルトはWindows-1252).すべてのunicode文字で終わ)をとっています。を使用していVS2008年、C#3.5

役に立ちましたか?

解決

えいたしましては、次のコード:

 string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><xml><value>受</value></xml>";

 XmlWriterSettings settings = new XmlWriterSettings { Encoding = Encoding.Default };
 MemoryStream ms = new MemoryStream();
 using (XmlWriter writer = XmlTextWriter.Create(ms, settings))
      XElement.Parse(xml).WriteTo(writer);

 string value = Encoding.Default.GetString(ms.ToArray());

するとともに逃げのunicode文字をこのように:

<?xml version="1.0" encoding="Windows-1252"?><xml><value>&#x53D7;</value></xml>

が必要となってもらいしか採用できる場所はない。のです。

他のヒント

私が質問に答えているかどうかわかしそうです。あなただけが必要 ; 後の 27544:

<?xml version="1.0" encoding="Windows-1252"?>
<xml>
<value>&#27544;</value>
</xml>

それがどんな風に生XMLプログラム?る場合、どのような言語-環境事を書いていきたいと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top