1

我正在尝试使用 MATLAB 读取波兰树库的以下 XML 文件:http: //zil.ipipan.waw.pl/Sk%C5%82adnica?action=AttachFile&do=view&target=Sk%C5%82adnica- frazowa- 0.5-TigerXML.xml.gz

波兰字母似乎被编码为 HTML 代码:http ://webdesign.about.com/od/localization/l/blhtmlcodes-pl.htm

例如,ł代表“ł”。如果我使用“UTF-8”打开树库,我会得到类似 的词kłaniał,实际上应该显示为“kłaniał”

现在,我看到了正确读取树库的 2 个选项:

  1. 直接读取 XML 文件,以便将 HTML 代码转换为相应的字符。
  2. 首先以非解码格式(例如 as kłaniał)保存单词,然后转换字符。

是否可以在 MATLAB 中执行 2 个选项之一(或两者)?

4

1 回答 1

0

非 MATLAB 解决方案是通过一些外部实用程序对文件进行预处理。例如,安装 Ruby 后,可以使用HTMLentitiesgem 来取消转义所有特殊字符。

sudo gem install htmlentities

file.xml是应该由仅 ascii 字符组成的文件名。转换文件的 Ruby 代码可能是这样的:

#!/usr/bin/env ruby

require 'htmlentities'
xml = File.open("file.xml").read
converted_xml = HTMLEntities.new.decode xml
IO.write "decoded_file.xml", xml

(要运行该文件,不要忘记chmod +x使其可执行)。或者更紧凑,作为单线

 ruby -e "require 'htmlentities';IO.write(\"decoded_file.xml\",HTMLEntities.new.decode(File.open(\"file.xml\").read))"

然后,您可以根据需要对 xml 进行后处理。

于 2015-10-05T11:17:25.450 回答