csharp 【C#】XmlWriterでxmlを书くときのエスケープ文字に关するTips.WriteRaw + SecurityElement.Escapeがいい感じっぽい。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 【C#】XmlWriterでxmlを书くときのエスケープ文字に关するTips.WriteRaw + SecurityElement.Escapeがいい感じっぽい。相关的知识,希望对你有一定的参考价值。
static void Main(string[] args)
{
string text = ">=10^5 cfu/ml& < > \" '";
using (var stream = new MemoryStream()) {
using (var writer = XmlWriter.Create(stream, new XmlWriterSettings() { Indent = true, Encoding = Encoding.GetEncoding("Shift-JIS") })) {
writer.WriteStartElement("root");
// WriteRawだと生データのまま。
writer.WriteStartElement("WriteRaw");
writer.WriteRaw(text); // <WriteRaw>>=10^5 cfu/ml& < > " '</WriteRaw>
writer.WriteEndElement();
// WriteStringは < > & はエスケープしてくれるが、 " ' はしてくれない。(属性値でWriteStringだとエスケープしてくれるっぽい。)
writer.WriteStartElement("WriteString");
writer.WriteString(text); // <WriteString>>=10^5 cfu/ml& < > " '</WriteString>
writer.WriteEndElement();
// SecurityElement.Escape(string) は " ' もエスケープしてくれるので、これでエスケープしてWriteRawだといいかんじ。
writer.WriteStartElement("WriteRawAndEscape");
writer.WriteAttributeString("id", "1");
writer.WriteRaw(SecurityElement.Escape(text)); // <WriteRawAndEscape id="1">>=10^5 cfu/ml& < > " '</WriteRawAndEscape>
writer.WriteEndElement();
writer.WriteFullEndElement();
writer.Flush();
Console.WriteLine(Encoding.GetEncoding("Shift-JIS").GetString(stream.ToArray()));
}
}
}
以上是关于csharp 【C#】XmlWriterでxmlを书くときのエスケープ文字に关するTips.WriteRaw + SecurityElement.Escapeがいい感じっぽい。的主要内容,如果未能解决你的问题,请参考以下文章
csharp C#でDozensのDNSレコードを操作するref:http://qiita.com/nakaji/items/008090c0fc8173afce53
csharp AsyncOperationをUniTaskで待机する良い例
csharp 统一でキャラクターを移动させる
csharp 文字列を指定した长さで分割する。
csharp 透过した色を绮丽に表示できるパネル
csharp [ClosedXMLでExcel帐票] Excelで帐票のテンプレートを作成しておくことで,Excel帐票を作成します。ヘッダやフッタはExcelに记载した$ {templatename