は、私はたくさんの周りを見てきましたが、見つけることができませんでしたビルトイン特殊なXML文字エスケープします.NETメソッド: <
、>
、&
、'
と"
をそうでない場合タグ。タグがエスケープされていないことを条件付きで脱出特殊なXML文字
Test& <b>bold</b> <i>italic</i> <<Tag index="0" />
お知らせ:
Test& <b>bold</b> <i>italic</i> <<Tag index="0" />
が、私はそれがに変換したい:
はたとえば、次のテキストを取ります。この値をXmlElement
のInnerXML
に設定する必要があり、その結果、これらのタグを保存する必要があります。
私は自分自身のパーサーを実装し、StringBuilder
を使用してできる限り最適化しましたが、かなり厄介なことがあります。
私は、物事を簡素化する可能性のあるタグも知っています(br、b、i、u、blink、flash、Tag)。また、これらのタグは、自己終了タグ
(e.g. <u />)
またはコンテナタグ
(e.g. <u>...</u>)
HTMLはXMLではありません...「foo bar本当に
'のようです。あなたは自分でそれをやりたいなら、たくさんの楽しみの中にいます。オプションとして、HtmlAgilityPackがHTMLを適切なツリーに解析し、注意深くXMLにすべてのノードを挿入することを検討してください。 –
「Test Value is < 3 but > 1'」を正しく処理することはできません。 – Bobson
@Bobson '<3'は有効な開始タグではないので、それを理解することができます。しかし、あなたのポイントはまだ立っていて、 '<' and '>'はエスケープされ、解析中のあいまいさを取り除きます。合理的なパーサーが1つのパスを選択するケースがありますが、別のパスを希望しているかもしれません。 – climbage