Iterparse 命名空间

Iterparse namespace

我有以下内容:

node = etree.fromstring(res.content)
items = node.xpath('v:Items/v:Item', namespaces={'v':'http://schemas.microsoft.com/eds/2012/05/01/eds'})

如何使用 iterparse 执行以下操作?例如:

contentBuffer=io.BytesIO(res.content)
items = ET.iterparse(contentBuffer,tag='v:Items/v:Item') # <== namespace??

使用 Clark notation 指定完全限定的标签名称:

items = ET.iterparse(contentBuffer, 
                     tag='{http://schemas.microsoft.com/eds/2012/05/01/eds}Item')

也可以对命名空间使用通配符:

items = ET.iterparse(contentBuffer, tag='{*}Item')

(注意不能使用tag='{*}Items/{*}Item'tag参数应该是标签名,而不是表达式。)