【问题标题】:URL in all XML Element Tags所有 XML 元素标记中的 URL
【发布时间】:2019-04-15 17:33:53
【问题描述】:

我在 Python 中使用 cElementTree 包,但遇到了元素标签的问题。它们在标签本身中包含一个属性。似乎是解析器的问题。请查看以下代码:

from xml.etree import cElementTree as ET
path='C:\\Users\\myusername\\Desktop\\test.xml'
tree=ET.parse(path)
root=tree.getroot()

root.tag
>>> '{http://www.aftmark.org}DATA'

xml在哪里是这样的:

<DATA xmlns:xsd="http://www.w.org/2008/XMLsca" xmlns="http://www.aftmark.org">
  <Header>
    <DATAVersion>6.5</DATAVersion>
  </Header>
  <Items>
    <Item MaintenanceType="A">
      <HazardousMaterialCode>N</HazardousMaterialCode>
      <ExtendedInformation>
    </Item>

知道为什么要包含“{http://www.aftmark.org}”网址吗?我正在解析很多文件并且该网址发生了变化。 DATA 标签没有。 (备份是使用 root.tag 并获取该 url 并将其附加到所有 ET.find() 稍后) 谢谢!

【问题讨论】:

    标签: python xml tags celementtree


    【解决方案1】:

    这是因为DATA(和所有后代)在默认命名空间http://www.aftmark.org中。

    您看到的是命名空间 uri 和扩展的本地名称(又名克拉克符号)。

    See here 了解有关 ElementTree 中命名空间的更多信息。

    See here 了解有关 XML 命名空间的更多信息。

    另外,see this answer 提供另一种捕获未知名称空间以在 find/findall 中使用的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 2015-07-05
      • 1970-01-01
      • 2016-07-15
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      相关资源
      最近更新 更多