xml - 如何将控制字符转换为 HTML 实体?

标签 xml perl character-encoding

我正在读取一个文本文件并将其内容放入 xml 输出文件的标签内。我面临的问题是输入文本文件包含一些控制字符,例如 <96><92>这导致我的脚本输出无效的 xml。

如何将这些控制字符转换为相应的数字 HTML 实体,以便不会丢失数据并且生成的文件也有效?

我已经尝试过:

perl -p -i -e 's/\x96/\&\#150\;/g; s/\x92/\&\#146\;/g;' out_xml

但我想将任何控制字符转换为 HTML 实体。

最佳答案

HTML::Entities做你想做的事:

$ perl -MHTML::Entities -le 'print encode_entities("\x96\x92")'
&#150;&#146;

关于xml - 如何将控制字符转换为 HTML 实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13721943/

相关文章:

java - 如何使用java创建xml?

python - 使用 BeautifulSoup 循环列表并创建 XML 标签

.net - 代码页和字符编码有什么区别?

python - 如何正确取消引用应该包含日语符号的网址

xml - Kony Fabric 无法生成 XML 树

sql - 如何根据条件从 Oracle XMLTYPE 中删除节点?

linux - nohup的混淆行为

regex - 如何替换除西​​类牙语以外的所有 unicode 字符?

html - 如何从阻塞操作发送 WebSocket 事件? (需要设计建议)

java - 为什么我必须将 utf-8 参数字符串编码为 iso-Latin,然后解码为 utf-8 以获得 Java utf-8 字符串?