我有大约600个XML文档,必须对其进行某些处理才能进行解析。但是由于缺少标签,它们不是有效的XML文档。 他们应该具有的正确有效结构是-
<article xmlns:xlink="http://www.w3.org/1999/xlink">
<bdy>
.....
.....
.....
</bdy>
</article>
单个XML文档包含数百个这样的<article>...</article>
块。但是问题在于某些此类块缺少闭合的</bdy>
或</article>
标签,从而使它们对于使用Python模块(例如“ lxml”,“ xml.dom”,“ xml”)进行解析很有用。 .etree.ElementTree'等。
此外,由于大约有600个此类文件,因此手动修复这些文件似乎不可行。
关于如何正确处理它们的任何建议?
谢谢
“ article.dtd”文件可以按以下方式下载-
答案 0 :(得分:0)
您可以利用SGML标签推断来生成丢失的末尾元素标签。编写具有以下内容的DTD文件doc.dtd
:
<!ELEMENT doc O O (article+)>
<!ELEMENT article - O (bdy)>
<!ELEMENT bdy - O (#PCDATA)>
告诉SGML article
和bdy
的结束元素标签以及doc
的开始元素标签和结束元素标签(用作文档元素的人工容器元素}可以根据相应元素/标签的O
标签省略指示器省略。
然后插入行
<!DOCTYPE doc SYSTEM "doc.dtd">
要分析的文件的开头。
然后安装例如。 OpenSP并在文件上调用osx
程序以生成格式正确的XML。