PythonでXMLタグから値を取得する方法は?

theteddyboy

以下のようなXMLファイルがあります。

<?xml version="1.0" encoding="UTF-8"?><searching>
   <query>query01</query>
   <document id="0">
      <title>lord of the rings.</title>
    <snippet>
      this is a snippet of a document.
    </snippet>
      <url>http://www.google.com/</url>
   </document>
   <document id="1">
      <title>harry potter.</title>
    <snippet>
            this is a snippet of a document.
    </snippet>
      <url>http://www.google.com/</url>
   </document>
   ........ #and other documents .....

  <group id="0" size="298" score="145">
      <title>
         <phrase>GROUP A</phrase>
      </title>
      <document refid="0"/>
      <document refid="1"/>
      <document refid="84"/>
   </group>
  <group id="0" size="298" score="55">
      <title>
         <phrase>GROUP B</phrase>
      </title>
      <document refid="2"/>
      <document refid="13"/>
      <document refid="3"/>
   </group>
   </<searching>>

上記のグループ名と、各グループのドキュメントID(およびそのタイトル)を取得したいと思います。私の考えは、ドキュメントIDとドキュメントタイトルを次のように辞書に保存することです。

import codecs
documentID = {}    
group = {}

myfile = codecs.open("file.xml", mode = 'r', encoding = "utf8")
for line in myfile:
    line = line.strip()
    #get id from tags
    #get title from tag
    #store in documentID 


    #get group name and document reference

さらに、BeautifulSoupを試しましたが、非常に新しいものです。やり方がわかりません。これは私がやっているコードです。

def outputCluster(rFile):
    documentInReadFile = {}         #dictionary to store all document in readFile

    myfile = codecs.open(rFile, mode='r', encoding="utf8")
    soup = BeautifulSoup(myfile)
    # print all text in readFile:
    # print soup.prettify()

    # print soup.find+_all('title')

outputCluster("file.xml")

いくつかの提案をお願いします。ありがとうございました。

TheSoundDefense

以前のポスターにはその権利があります。etreeのドキュメントはここにあります:

https://docs.python.org/2/library/xml.etree.elementtree.html#module-xml.etree.ElementTree

そしてあなたを助けることができます。トリックを実行する可能性のあるコードサンプルを次に示します(上記のリンクから部分的に取得)。

import xml.etree.ElementTree as ET
tree = ET.parse('your_file.xml')
root = tree.getroot()

for group in root.findall('group'):
  title = group.find('title')
  titlephrase = title.find('phrase').text
  for doc in group.findall('document'):
    refid = doc.get('refid')

または、IDをグループタグに保存する場合はid = group.get('id')、すべてを検索する代わりに使用しますrefid

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Androidのxmlタグから特定の値を取得する方法

分類Dev

プログラムでXMLから値を取得する方法は?-Android

分類Dev

Pythonでxmlドキュメントから特定のタグを取得する方法

分類Dev

xmlファイルからPythonで値を取得する方法

分類Dev

入力タグから値を正しく取得する方法は?

分類Dev

Javaを使用してXMLから特定のタグ全体の値を取得する方法

分類Dev

PythonでElementTreeを使用して同じタグから値を解析する方法は?

分類Dev

文字列形式のxmlから繰り返しタグ値を取得する方法(Java)

分類Dev

フラグメント内のxmlからEditText値を取得する方法は?

分類Dev

h2タグからHREFを取得する方法は?Python / Selenium

分類Dev

c#でタグxmlから属性を抽出する方法は?

分類Dev

リンクタグからデータ属性値を取得する方法は?

分類Dev

XMLから特定のタグ値を見つける方法はありますか?

分類Dev

タグ名が変数に格納されている入力XMLからタグ値を取得する方法

分類Dev

XMLタグから要素を取得してPHP配列に格納する方法は?

分類Dev

xmlタグから特定のフィールドを取得する方法は?

分類Dev

xmlタグから特定のフィールドを取得する方法は?

分類Dev

go(構造体タグ)でXML要素からテキストを取得する方法

分類Dev

Pythonで未来からタスクを取得する方法は?

分類Dev

PythonでJsonからデータを取得する方法は?

分類Dev

angle2 で FormControl を使用して、INPUT タグからコンマ区切りの値を取得する方法は?

分類Dev

GoでXPathを使用してXMLから値を取得する方法

分類Dev

XMLタグからHTMLを取得する

分類Dev

XMLタグからURLを取得する

分類Dev

XMLからタグ名を取得する

分類Dev

XMLからNameタグを取得する

分類Dev

xmlからBuildConfig値を取得する方法は?

分類Dev

foreach PHPから最初の空でないフィルタリングされた値を取得する方法は?

分類Dev

Pythonを使用してXMLタグから属性を取得する

Related 関連記事

  1. 1

    Androidのxmlタグから特定の値を取得する方法

  2. 2

    プログラムでXMLから値を取得する方法は?-Android

  3. 3

    Pythonでxmlドキュメントから特定のタグを取得する方法

  4. 4

    xmlファイルからPythonで値を取得する方法

  5. 5

    入力タグから値を正しく取得する方法は?

  6. 6

    Javaを使用してXMLから特定のタグ全体の値を取得する方法

  7. 7

    PythonでElementTreeを使用して同じタグから値を解析する方法は?

  8. 8

    文字列形式のxmlから繰り返しタグ値を取得する方法(Java)

  9. 9

    フラグメント内のxmlからEditText値を取得する方法は?

  10. 10

    h2タグからHREFを取得する方法は?Python / Selenium

  11. 11

    c#でタグxmlから属性を抽出する方法は?

  12. 12

    リンクタグからデータ属性値を取得する方法は?

  13. 13

    XMLから特定のタグ値を見つける方法はありますか?

  14. 14

    タグ名が変数に格納されている入力XMLからタグ値を取得する方法

  15. 15

    XMLタグから要素を取得してPHP配列に格納する方法は?

  16. 16

    xmlタグから特定のフィールドを取得する方法は?

  17. 17

    xmlタグから特定のフィールドを取得する方法は?

  18. 18

    go(構造体タグ)でXML要素からテキストを取得する方法

  19. 19

    Pythonで未来からタスクを取得する方法は?

  20. 20

    PythonでJsonからデータを取得する方法は?

  21. 21

    angle2 で FormControl を使用して、INPUT タグからコンマ区切りの値を取得する方法は?

  22. 22

    GoでXPathを使用してXMLから値を取得する方法

  23. 23

    XMLタグからHTMLを取得する

  24. 24

    XMLタグからURLを取得する

  25. 25

    XMLからタグ名を取得する

  26. 26

    XMLからNameタグを取得する

  27. 27

    xmlからBuildConfig値を取得する方法は?

  28. 28

    foreach PHPから最初の空でないフィルタリングされた値を取得する方法は?

  29. 29

    Pythonを使用してXMLタグから属性を取得する

ホットタグ

アーカイブ