• 締切済み

LINQでXML

質問の内容がまとまっていないかもしれません。 質問内容としては、LINQでXMLを利用する際のエスケープ文字についてです。 XMLのタグ(「<」「>」で挟み記述する文言)を一旦「:」や「;」などのエスケープ文字に置換すると思うのですが、エスケープ文字に変換する範囲を教えてほしいのです。 <~>までのすべての文言なのか、それとも一部のみなのかが不明です。 説明が不十分であったり、質問の内容が的を得ていないかもしれませんが、どなたかご存知の方いらっしゃいましたらお願いします。 また、根拠となる情報源なども教えていただけると幸いです。

みんなの回答

  • hue2011
  • ベストアンサー率38% (2801/7250)
回答No.1

理解していますか? 「:」や「;」などのエスケープ文字、とおっしゃいますが、これらがエスケープ文字というわけではありません。 <li>なんていう表現をするときに、&lt;li&gt;というのがエスケープ表現です。 :や;、ではなく、&lt; や&gt;を言います。 <というのは、より小さいという数学記号ですから、Less Thanです。ですから、&lt;というわけです。 &ではじまり、;で終わるのがエスケープ表現です。 なんのためにこういうことをするかというと、  本当の文字列の<、とタグで使う括弧を分離するのが安全 という意味と、  インターネットでメールアドレスなんかを勝手にひっぱられないように文字列サーチを難しくする ためです。 ですから、適用は、<、>、”、’、& という文字だけだと思いますが。

参考URL:
http://www.atmarkit.co.jp/fdotnet/dotnettips/1065xmlescape/xmlescape.html
nanasi23
質問者

お礼

回答ありがとうございます。 勉強不足ですいませんでした。 回答頂いたことは充分に理解出来ました。 もしご存知であれば捕捉に記述したこともご教授頂ければ幸いです。

nanasi23
質問者

補足

タグで指定した中身をLINQで指定して取得すると思うのですが、取得する内容に対してエスケープ処理を行いますか? また、行うのであればどのような文字が対象なのでしょうか? XMLの仕様で回答頂いた5種類の文字が対象ということは理解出来たのですが、LINQの仕様として存在するのであれば教えて欲しいです。 よろしくお願い致します。

関連するQ&A