只读取XML中的根元素

2024-10-03 23:19:10 发布

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

在许多基于REST的API调用中,我们有一个名为nextURL的参数,使用该参数可以查询下一个URL。这通常在根元素中(或者可能是下一个)

你们怎么看这个?如果您使用的是标准的XML解析器,它将读取并加载整个XML,然后您可以通过getElementsByTag读取nextURL。有更好的工作吗?读取整个xml当然是浪费时间/内存。在

编辑:一个示例XML将类似于

<result pubisher="xyz" nextURL="http://actualurl?since_date=<newdate>"> 
<element>adfsaf</element>
..
</result>

我需要在不读取整个XML的情况下捕获新的“自”日期。在


Tags: 内存restapi解析器url元素参数标准
2条回答

Python:你可以使用ElementTree iterparse method。。。如果您需要的数据在属性中,则在您获取start事件时,该属性已被解析。如果它在元素的文本或尾部,则必须等到结束事件。如果您编辑您的问题以显示您的XML是什么样子,并用一个示例解释“或者可能在下一个问题中”,这将是一个好主意。在

术语“标准XML解析器”涵盖了很多领域,以至于我认为您无法概括它们的行为。例如,一个标准的DOM解析器是基于树的,它将把整个XML读入内存,但是SAX解析器(我认为StAX也一样)不会,而是会随着应用程序的需要而前进。听起来像是后者,SAX或StAX解析器,正是您所需要的。在

编辑:请务必阅读kitsoneymg下面关于SAX和StAX行为之间差异的评论。在

相关问题 更多 >