使用dtd解析USPTO d的目的是什么

2024-03-29 04:49:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试解析由Google托管的USPTO大容量文件。在这过程中,我浏览了DTD文件。经过一些研究,我了解到这些文件基本上定义了模式,并可以根据这些定义来确定xml是否有效。我不明白这些文件是如何帮助我解析文件的。我看过几篇博文(12)和this paper关于人们是如何使用它们的,但我不知道如何使用它们或为什么。在

我目前的解析方法只是使用Beautiful Soup来查找标记,但是如果有更好/更有效的方法,我希望这样做。在

下面是我当前方法的一个小例子:

def getRefInfo(ref):
  data = {}
  data["Country"] = ref.find("country").text
  data["Date"] = ref.find("date").text
  data["ID"] = ref.find("doc-number").text

  return data 



soup = BeautifulSoup(xml, 'lxml')
bibData= soup.find("us-bibliographic-data-grant")

ref = bibData.find("publication-reference")
if ref != None:
    print getRefInfo(ref)

Tags: 文件方法textrefdata定义过程google
1条回答
网友
1楼 · 发布于 2024-03-29 04:49:24

在将输入发送到工作流管道之前,可以使用dtd验证输入是否正确。考虑到XML可以以片段的形式发送,这是一种保证您永远不会处理部分记录的机制(除非您真的想这样做)

当您处理pull解析器与DOM解析器时,这种差异就真正发挥了作用。在

DTD还可用于生成“智能对象”,在这种情况下,您读取的XML将转换为具有行为的对象树。。这是一种非常高级的技术,大多数python模块都不支持它,但它确实存在(作者认为它是一种优雅的XML操作解决方案)

相关问题 更多 >