XMLでのエスケープ処理 (テキスト要素の値に""", "\", 改行 を含める場合の処理)

XMLでのエスケープ処理について紹介します。

概要

XMLでは特定の文字が値になる場合はエスケープする必要があります。

エスケープが必要な文字

エスケープが必要な文字とエスケープした文字の表現方法は下記の表のとおりです。
エスケープ表記元の文字説明
  スペース
  スペース (UTF-8)

改行
タブ

ラインフィード
&lt;<
&gt;>
&amp;&アンパサンド
&quot;"ダブルクォーテーション
&apos;'シングルクォーテーション
&#[整数];整数での文字コードに対応する文字
&#[16進数];16進数での文字コードに対応する文字

コード例

例1

data タグの text属性で以下の値を設定する例です。
ペンギンは南極以外にも
生息しています。
<?xml version="1.0" encoding="UTF-8"?>
<datalist>
  <data text="ペンギンは南極以外にも&#x0D;&#x0A;生息しています。">
</datalist>

例2

data タグの text属性で以下の値を設定する例です。
段落の表記は<P>タグで表現します。
<?xml version="1.0" encoding="UTF-8"?>
<datalist>
  <data text="段落の表記は&lt;P&gt;タグで表現します。">
</datalist>

例3

data タグの text属性で以下の値を設定する例です。
トリガーキーワードは"Duck"です。
<?xml version="1.0" encoding="UTF-8"?>
<datalist>
  <data text="トリガーキーワードは&quot;Duck&quot;です。">
</datalist>
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
掲載日: 2016-04-21
iPentec all rights reserverd.