XML ドキュメントではどの文字をエスケープする必要がありますか? また、そのようなリストはどこで見つけることができますか?
ベストアンサー1
適切なクラスまたはライブラリを使用すると、エスケープ処理が自動的に行われます。多くの XML の問題は、文字列の連結によって発生します。
XMLエスケープ文字
たった 5 つしかありません:
" "
' '
< <
> >
& &
文字のエスケープは、特殊文字が使用される場所によって異なります。
これらの例は、W3C マークアップ検証サービス。
文章
安全な方法は、テキスト内の 5 つの文字すべてをエスケープすることです。ただし、テキスト内の"
、 、 の'
3つの文字>
はエスケープする必要はありません。
<?xml version="1.0"?>
<valid>"'></valid>
属性
安全な方法は、属性内の 5 つの文字すべてをエスケープすることです。ただし、>
属性内で文字をエスケープする必要はありません。
<?xml version="1.0"?>
<valid attribute=">"/>
引用符が次の場合、属性'
内で文字をエスケープする必要はありません"
。
<?xml version="1.0"?>
<valid attribute="'"/>
同様に、"
引用符が次の場合、属性内でエスケープする必要はありません'
。
<?xml version="1.0"?>
<valid attribute='"'/>
コメント
コメントでは、5 つの特殊文字すべてをエスケープしないでください。
<?xml version="1.0"?>
<valid>
<!-- "'<>& -->
</valid>
CDATA
5つの特殊文字はすべてエスケープしないでください。CDATAセクション:
<?xml version="1.0"?>
<valid>
<![CDATA["'<>&]]>
</valid>
処理命令
XML 処理命令では、次の 5 つの特殊文字すべてをエスケープしないでください。
<?xml version="1.0"?>
<?process <"'&> ?>
<valid/>
XML と HTML
HTMLには独自のエスケープコードセットより多くの文字をカバーします。