0

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>

ElementTreePython でを使用する方法は次のとおりです。

import xml.etree.cElementTree as ET
tree=ET.parse("the_file_above.xml")
root = tree.getroot()
for c in root:
    print c.tag, c.attrib

戻り値:

{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 がどのように混在しているかはわかりません。誰かがこれについてアイデアを持っていますか?

4

1 に答える 1

0

このライブラリは (他のライブラリと同様に) タグ名に使用される名前空間をエンコードしようとします。これは、中かっこで名前空間を先頭に追加することによって行われます。したがって、これはあなたが気付いていないかもしれない機能であり、あなたにとって扱いにくいかもしれません. ただし、さまざまなソースからの XML をさまざまな名前空間と混在させる場合に必要です。そうしないと、タグ名が衝突する可能性があります。

于 2013-09-23T08:27:13.820 に答える