为什么ElementTree不能正确解析这个XML标记?

2024-05-15 03:29:03 发布

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

XML文件如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<MINiML
   xmlns="http://www.ncbi.nlm.nih.gov/geo/info/MINiML"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.ncbi.nlm.nih.gov/geo/info/MINiML http://www.ncbi.nlm.nih.gov/geo/info/MINiML.xsd"
   version="0.5.0" >

  <Contributor iid="contrib1">
    <Person><First>ENCODE</First><Last>DCC</Last></Person>
    <Email>encode-help@lists.stanford.edu</Email>
    <Organization>ENCODE DCC</Organization>
    <Address>
      <Line>300 Pasteur Dr</Line>
      <City>Stanford</City>
      <State>CA</State>
      <Zip-Code>94305-5120</Zip-Code>
      <Country>USA</Country>
    </Address>
  </Contributor>
</MINiML>

下面是我在Python中如何使用ElementTree

^{pr2}$

它返回:

{http://www.ncbi.nlm.nih.gov/geo/info/MINiML}Contributor {'iid': 'contrib1'}

c.tag的值是'{http://www.ncbi.nlm.nih.gov/geo/info/MINiML}Contributor',我希望是Contributor。我不知道长url是如何混合在标签中的。有人对此有什么想法吗?在


Tags: infohttpversionwwwncbinlmgeogov
1条回答
网友
1楼 · 发布于 2024-05-15 03:29:03

这个库(和其他库一样)尝试将使用的名称空间编码到标记名中。这是通过在大括号中添加名称空间来完成的。所以这只是一个你可能不知道的功能,可能对你来说很麻烦。但是,如果您将来自不同来源的xml与不同的名称空间混合在一起,否则标记名会发生冲突,那么这是必要的。在

相关问题 更多 >

    热门问题