- 締切済み
文字列のエスケープ処理
VB6.0を使用してXMLファイルを作成しています。 XMLファイルの値に日本語文字列の場合のみ、エスケープ処理した文字列をセットしなければいけない場所があるのですが、 エスケープ処理した文字列とはどのように実現できるのでしょうか? XML自体があまり詳しくないので、質問内容がおかしいかも知れませんが、どなたかお教えください。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
> 日本語文字列の場合のみ、エスケープ処理した文字列をセットしなければいけない ここの解釈があいまいになってしまうのですが、日本語の文字列をエスケープ処理したい、と受け取ってよいのでしょうか? んで、日本語の文字列をエスケープ処理するというのは例えば あいう → あいう こういうことでしょうか? この場合はエスケープ処理を自力で組むことになると思います。 あるいは、日本語文字列中に出現するエスケープ必須対象文字のみをエスケープ処理したい、とも読み取れます。 あい<b>う</b>えお → あい<b>う</b>えお この場合は、XMLをどのように組み立てているかによります。自力でテキストファイルに書き出している場合は、エスケープ処理も自力で、ということになります。変換が必要な文字列は主に「&」「<」「>」の3つなので、それぞれ、 & → & < → < > → > にReplaceしてあげれば大丈夫です。ただし、< > を & よりも先にReplaceしないように気をつけてください。< が &lt; になっちゃいます。 MSXMLなどのコンポーネントを使ってXMLを出力している場合は、コンポーネント内で自動的にエスケープ処理してくれるはずなので、そのまま文字列を設定すればよかったと思います。(最近使ってないので自信なし・・・) 的外れでしたら見なかったことに・・・