1. ホーム
  2. c#

[解決済み] XmlDocument を文字列に変換する。

2022-02-06 08:52:30

質問

現在、以下のように変換しています。 XMLDocument から 文字列

StringWriter stringWriter = new StringWriter();
XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);

xmlDoc.WriteTo(xmlTextWriter);

return stringWriter.ToString();

この方法の問題点は、もし私が " ((引用符)は属性で持っています)それをエスケープします。

For Instance:

<Campaign name="ABC">
</Campaign>

上記は期待されるXMLです。しかし、それは

<Campaign name=\"ABC\">
</Campaign>

できること String.Replace "\" が、その方法は大丈夫なのでしょうか?副作用はないのでしょうか?XML自体に "\"

解決方法は?

引用符はありません。VSデバッガだけです。コンソールに出力したり、ファイルに保存してみるとわかると思います。余談ですが、使い捨てのオブジェクトは必ず処分してください。

using (var stringWriter = new StringWriter())
using (var xmlTextWriter = XmlWriter.Create(stringWriter))
{
    xmlDoc.WriteTo(xmlTextWriter);
    xmlTextWriter.Flush();
    return stringWriter.GetStringBuilder().ToString();
}