- 締切済み
LINQでXML
質問の内容がまとまっていないかもしれません。 質問内容としては、LINQでXMLを利用する際のエスケープ文字についてです。 XMLのタグ(「<」「>」で挟み記述する文言)を一旦「:」や「;」などのエスケープ文字に置換すると思うのですが、エスケープ文字に変換する範囲を教えてほしいのです。 <~>までのすべての文言なのか、それとも一部のみなのかが不明です。 説明が不十分であったり、質問の内容が的を得ていないかもしれませんが、どなたかご存知の方いらっしゃいましたらお願いします。 また、根拠となる情報源なども教えていただけると幸いです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hue2011
- ベストアンサー率38% (2801/7250)
回答No.1
理解していますか? 「:」や「;」などのエスケープ文字、とおっしゃいますが、これらがエスケープ文字というわけではありません。 <li>なんていう表現をするときに、<li>というのがエスケープ表現です。 :や;、ではなく、< や>を言います。 <というのは、より小さいという数学記号ですから、Less Thanです。ですから、<というわけです。 &ではじまり、;で終わるのがエスケープ表現です。 なんのためにこういうことをするかというと、 本当の文字列の<、とタグで使う括弧を分離するのが安全 という意味と、 インターネットでメールアドレスなんかを勝手にひっぱられないように文字列サーチを難しくする ためです。 ですから、適用は、<、>、”、’、& という文字だけだと思いますが。
お礼
回答ありがとうございます。 勉強不足ですいませんでした。 回答頂いたことは充分に理解出来ました。 もしご存知であれば捕捉に記述したこともご教授頂ければ幸いです。
補足
タグで指定した中身をLINQで指定して取得すると思うのですが、取得する内容に対してエスケープ処理を行いますか? また、行うのであればどのような文字が対象なのでしょうか? XMLの仕様で回答頂いた5種類の文字が対象ということは理解出来たのですが、LINQの仕様として存在するのであれば教えて欲しいです。 よろしくお願い致します。