XMLにおけるエスケープ文字およびCDATAの使用
3226 ワード
1、XMLでは特殊文字が使用される場合がありますので、XMLを生成する前に、特殊文字をエスケープする必要があります.具体的なエスケープは下図のように(私は&後に追加します)
エスケープ文字
エスケープ文字
<
<
>
>
&
&
’
'
‘’
"
2、ただし、XMLでは特殊文字を大量に使用する必要がある場合があります.エスケープすると振り回される場合があります.この場合、XMLのCDATAセグメントを使用すると関連コンテンツがフィルタされ、xml解析器ではCDATAセグメントのコンテンツがフィルタされます.1)構文.2)用法.通常の方法:
CDATAの使い方.CDATAセグメントを使用すると、セグメントの内容は無視されてチェックされ、敏感な内容が含まれているかどうかにかかわらず、通常のテキストとして扱われます
もう一つの例
3、CDATAセグメントをまとめる目的はxml解析器に内容がすべて普通のテキストだと思わせることであり、解析する必要はない.これはC#に似ている.SQL文を書くときに使う@は、デフォルトのすべてがテキストであることに相当する.例えば:
MarkDownエディタでもエスケープ文字が認識され、<が
エスケープ文字
エスケープ文字
<
<
>
>
&
&
’
'
‘’
"
2、ただし、XMLでは特殊文字を大量に使用する必要がある場合があります.エスケープすると振り回される場合があります.この場合、XMLのCDATAセグメントを使用すると関連コンテンツがフィルタされ、xml解析器ではCDATAセグメントのコンテンツがフィルタされます.1)構文.2)用法.通常の方法:
<UserName> </UserName>
CDATAの使い方.CDATAセグメントを使用すると、セグメントの内容は無視されてチェックされ、敏感な内容が含まれているかどうかにかかわらず、通常のテキストとして扱われます
<UserName><![CDATA[ ]]></UserName>
もう一つの例
<content>
<![ CDATA [
<script language="javascript">
function sayhello(){ alert("hello!"); }
</script>
] ] >
</content>
3、CDATAセグメントをまとめる目的はxml解析器に内容がすべて普通のテキストだと思わせることであり、解析する必要はない.これはC#に似ている.SQL文を書くときに使う@は、デフォルトのすべてがテキストであることに相当する.例えば:
string sqlStr = @" select k.item_code, k.item_name_cn
from drug_dict_data k
where k.dict_type_id = :v_dict_type_id
and k.audit_status = 4
and k.is_inuse = 1 ";
MarkDownエディタでもエスケープ文字が認識され、<が