3

文字列を XML にエンコードするには、xmerl_lib:export_text関数がその仕事をしますが、反対の仕事をする関数、つまり ? に変換<する関数は>どれですか?

次のような完全な文字列を変換したい:

<foo="bar">

に:

<foo="bar">
4

2 に答える 2

1

これに適したライブラリを見つけることができなかったので、独自のデコード関数を作成しました。

decode("&gt;" ++ Rest) ->
 ">" ++ decode(Rest);
decode("&lt;" ++ Rest) ->
 "<" ++ decode(Rest);
decode("&quot;" ++ Rest) ->
 "\"" ++ decode(Rest);
decode([]) ->
 [].

wikipediaによると、XML の文字参照は 5 つしかないため、これら 5 つをサポートしても問題ありません。

&amp; → & (ampersand, U+0026)
&lt; → < (less-than sign, U+003C)
&gt; → > (greater-than sign, U+003E)
&quot; → " (quotation mark, U+0022)
&apos; → ' (apostrophe, U+0027)
于 2013-05-31T11:18:18.997 に答える
1

exmlパッケージはこれをサポートしています:

https://github.com/paulgray/exml/blob/master/src/exml.erl#L54

一般に、xmerl よりも exml を検討しますが、これは NIF ベースのパーサーであることに注意してください。

于 2013-05-31T11:41:34.267 に答える