我正在尝试解析R中的DBLP数据集.XML具有带有以下<!DOCTYPE dblp SYSTEM "dblp.dtd">
定义的DOCTYPE。底层DTD是外部的,找到here。
当我尝试使用下面给出的代码解析R中本地下载的XML时,我得到错误,说明DTD中定义的一些实体未定义。
require("XML")
url = "file:///Downloads/dblp.xml"
xmlFile = xmlTreeParse(url)
错误消息(示例):
Entity 'ouml' not defined
Detected an entity reference loop
Entity 'eacute' not defined
Detected an entity reference loop
Entity 'eacute' not defined
这是因为实体不是有效的XML字符,而是对重音字符进行编码。但是,它们已在DTD中以数字格式定义。
是否有一个示例如何通过应用DTD来解析此XML文件?