【问题标题】:Parsing different structured xml解析不同的结构化xml
【发布时间】:2020-01-27 19:15:39
【问题描述】:

目前我已经尝试对这个具有不同表结构的文件使用 xml.dom.minidom.parser 和 xml.etree.ElementTree。

每当我尝试使用这些命令时,都会收到一条错误消息“ExpatError: not well-formed (invalid token): line 300606, column 37”

我正在使用的文件是来自https://omia.org/download/ 的omia.xml.zip 文件。 如何处理这种格式化文件?

我试图将beautifulsoup 与xml 和lxml 一起使用,但似乎我也有一些问题。 (我 pip install lxml,但它没有被识别)

【问题讨论】:

    标签: python xml parsing lxml


    【解决方案1】:

    这看起来像是元素内容的编码问题。以下是 xmllint 报告的内容:

    $ unzip -p ~/Downloads/omia.xml.zip | xmllint --noout -
    -:300606: parser error : PCDATA invalid Char value 2
            <field name="journal">Bulletin et Memoires de la Societe Centrale de Medic
                                               ^
    -:300606: parser error : PCDATA invalid Char value 2
            <field name="journal">Bulletin et Memoires de la Societe Centrale de Medic
                                                                  ^
    -:300606: parser error : PCDATA invalid Char value 2
            <field name="journal">Bulletin et Memoires de la Societe Centrale de Medic
                                                                     ^
    -:300606: parser error : PCDATA invalid Char value 2
            <field name="journal">Bulletin et Memoires de la Societe Centrale de Medic
                                                                                     ^
    -:322053: parser error : Opening and ending tag mismatch: row line 322042 and field
            <field name="doi"></field>
                                      ^
    -:322054: parser error : Opening and ending tag mismatch: table_data line 19 and row
        </row>
              ^
    -:328921: parser error : Opening and ending tag mismatch: database line 3 and table_data
        </table_data>
                     ^
    -:1389753: parser error : xmlSAX2Characters: huge text node
            <field name="gene_id">388093963</field>
                                                   ^
    

    您或许可以过滤无效字符,但我不确定这会如何影响您的预期结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-21
      • 2023-03-12
      • 2012-08-12
      • 1970-01-01
      • 2016-03-01
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      相关资源
      最近更新 更多