如何解析按特定标签ID分组的XML

用户名

我有以下xml文件,我想按表ID对它进行分组。

xml = """
 <Tables Count="19">
    <Table Id="1" >
      <Data>
        <Cell>
          <Brush/>
          <Text>AA</Text>
          <Text>BB</Text>
         </Cell>
       </Data>
    </Table>

    <Table Id="2" >
      <Data>
        <Cell>
          <Brush/>
          <Text>CC</Text>
          <Text>DD</Text>
         </Cell>
       </Data>
    </Table>
</Tables>
""" 

我想解析它并得到这样的东西。

在此处输入图片说明

我在下面尝试过一些东西,但无法弄清楚。

from lxml import etree

tree = etree.fromstring(xml)

users = {}
for user in tree.xpath("//Tables"):
    name = user.xpath("Table")[0].text
    users[name] = []
    for group in user.xpath("Data/Cell/Text"):
        users[name].append(group.text)

print (users)

有可能得到上述结果吗?如果是这样,有人可以帮助我做到这一点吗?非常感谢您的努力。

一月

您需要将xpath查询更改为:

from lxml import etree

tree = etree.fromstring(xml)

users = {}
for user in tree.xpath("//Tables/Table"):
#                                ^^^
    name = user.attrib['Id']
    users[name] = []
    for group in user.xpath(".//Data/Cell/Text"):
    #                        ^^^
        users[name].append(group.text)

print (users)

...并使用attrib字典。
这将产生您的字符串:

{'1': ['AA', 'BB'], '2': ['CC', 'DD']}


如果您喜欢“单线”,甚至可以这样做:

users = {name: [group.text for group in user.xpath(".//Data/Cell/Text")]
         for user in tree.xpath("//Tables/Table")
         for name in [user.attrib["Id"]]}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何解析通过Lua多次出现的xml文件的特定标签的属性值?

来自分类Dev

XSLT 按特定标签分组

来自分类Dev

解析XML文件中的特定标签

来自分类Dev

xml解析以检索特定标签

来自分类Dev

如何读取XML中的特定标签?

来自分类Dev

如何验证包含特定标签的XML

来自分类Dev

将XML解析为js数据,如何访问特定标签?

来自分类Dev

如何按特定标准进行分组和计数?

来自分类Dev

盲目解析XML页面以获取特定标签

来自分类Dev

从XML文件(Java)中的特定标签解析内容

来自分类Dev

从xml删除特定标签

来自分类Dev

按特定标准对集合进行分组

来自分类Dev

如何使用Powershell从XML文件中删除特定标签?

来自分类Dev

如何从python中的xml文档中获取特定标签

来自分类Dev

如何从python中的xml文档中获取特定标签

来自分类Dev

在Python上使用元素树解析Evernote xml:如何查找/删除具有特定标签名称的元素

来自分类Dev

按ID解析XML中的特定项目

来自分类Dev

Java jsoup解析特定标签

来自分类Dev

jQuery XML解析:选择包含具有特定值的特定标签的所有节点

来自分类Dev

如何替换包含选定标签的特定标签

来自分类Dev

修改 xml 中特定标签的值

来自分类Dev

如何在特定标签内的xml中获取所有嵌套标签和文本?

来自分类Dev

如何解析不带类和ID的html标签

来自分类Dev

如何仅获取elementsByClassName的特定标签?

来自分类Dev

如何使用Egit签出特定标签?

来自分类Dev

如何检索与特定标签相关的书

来自分类Dev

如何实现站点特定标签?

来自分类Dev

如何使用 curl 打印特定标签

来自分类Dev

按特定标识符对行进行分组并更新组 ID 列以跟踪它们属于哪个组

Related 相关文章

热门标签

归档