1. ホーム
  2. xml

[解決済み】XMLで無効な文字とは?

2022-04-02 23:40:29

質問

私は、次のような文字列を保持するいくつかのXMLを扱っています。

<node>This is a string</node>

ノードに渡す文字列の中には、次のような文字が含まれるものがあります。 & , # , $ など。

<node>This is a string & so is this</node>

のため無効です。 & .

これらの文字列はそのままである必要があるため、CDATAで包むことができないのです。私は、CDATAでなければXMLノードに入れることができない文字のリストを探してみました。

どなたか、違法な文字のリストを教えていただけませんか?

どのように解決するのですか?

不正な文字は & , <> (と同様に " または ' は、どの文字で属性値を区切るかによって異なります。 attr="must use &quot; here, ' is allowed"attr='must use &apos; here, " is allowed' ).

を使用してエスケープされています。 XMLエンティティ この場合 &amp; に対して & .

でも、本当は、XMLを書いてくれるツールやライブラリを使って、このようなことを心配しなくてもいいように抽象化してくれた方がいいんですけどね。