2

Xpsファイルを確認した後、Xpsファイル内の文字列<>がに変換されていることに気付きました&lt;&gt;

それで、私のためにこの仕事をすることができる.Netフレームワークの組み込み関数はありますか?それが存在しない場合<>、myOwn関数でエスケープする必要がある文字は何ですか?

xpsファイル内に検索を実装しようとしましたが、<>代わりに検索して&lt;&gt;も何も返されません。

更新:少なくとも、ここでxmlドキュメントのエスケープ文字のリストを見つけました

4

3 に答える 3

2

XMLTextWriterあなたが探しているものです。HTML ドキュメントで使用するために実際にテキストをエンコードする場合を除き、HTMLEncode メソッド (いくつかあります) の使用を避ける必要があります。XML ドキュメント (XHTML を含む) で使用するテキストをエンコードする場合は、XMLTextWriter を使用する必要があります。

このような何かがうまくいくはずです:

StringWriter strWriter = new StringWriter();
XmlTextWriter xmlWriter = new XmlTextWriter(strWriter);
xmlWriter.WriteString('Your String Goes here, < and >, as well as other special chars will be properly encoded');
xmlWriter.Flush();

Console.WriteLine("XML Text: {0}", strWriter.ToString());

この他のスタックオーバーフローの議論も参照してください。

于 2010-09-13T07:50:38.970 に答える
1

HtmlEncodeが機能するはずです。ユニコード
&lt;ではありません。&gt;それらはエスケープされた HTML/XML 文字です。

編集: XML には事前定義されたエンティティ
が 5 つしかないため、独自の XmlEncode メソッドを展開できると考えてみてください。HTML には 252 あります。

于 2010-09-13T07:22:12.470 に答える
0

組み込みではありませんが、Microsoft はアンチクロス サイト スクリプティング ライブラリをリリースしており、役立つはずです。XML エンコーディング メソッドなど、.NET の Html.Encode メソッドを超える新機能が追加されています。

チュートリアル

ダウンロード

于 2010-09-13T07:12:45.753 に答える