2

次のようなウムラウトを含むxmlファイルがあります。

<NameGe>ËÇ</NameGe>

このファイルを読み取り、次のように書き出す方法はありますか。

<NameGe>&#214;&#231;</NameGe>

したがって、基本的には、ウムラウトの数値/エンコードされた値を書き込む必要があります。

よろしく。

4

2 に答える 2

5

をオーバーライドすることでそれを行うことができWriteStringますXmlTextWriter

MemoryStream m = new MemoryStream();
MyWriter xmlWriter = new MyWriter(m);

XDocument xDoc = XDocument.Parse(xml);
xDoc.Save(xmlWriter);
xmlWriter.Flush();

string s = Encoding.UTF8.GetString(m.ToArray());

-

public class MyWriter : XmlTextWriter
{
    public MyWriter(Stream s) : base(s,Encoding.UTF8)
    {
    }
    public override void WriteString(string text)
    {
        base.WriteRaw(HttpUtility.HtmlEncode(text));
    }
}
于 2012-08-01T10:03:26.633 に答える
1

とを使用HttpUtility.HtmlEncodeHttpUtility.HtmlDecodeます。

于 2012-08-01T09:37:30.413 に答える