私は以下のコードを使用して、コードの下のXMLデータから数値を抽出しています。何らかの理由で私のリストは空になります。コードがちょっと混乱している場合は申し訳ありません。進行中の作業で、結果を得るためにいくつかの印刷機能を試していました。私は「のRetrieved、LEN(XMLDATA)、 '文字' を得るかのように、私はこの問題は、この辺りのどこかにあると信じて:XMLを解析すると空のリストが表示されます(Python)
pydata = ET.fromstring(xmldata)
私は
print (pydata)
を印刷する場合、私はこれだけを取得:
を<Element 'commentinfo' at 0x00000075968A7BD8>
私は非常に小さい何かが足りないと思うが、私はそれを考え出すていないです。
# Note - I am using Python 3.6
# exec(open("./trial.py").read())
# http://python-data.dr-chuck.net/comments_263475.xml
import xml.etree.ElementTree as ET
import urllib.request
sumcount = 0
while True:
url = input('Enter url:')
url = 'http://python-data.dr-chuck.net/comments_263475.xml'
if len(url) < 1 : break
print ('Retrieving', url)
uh = urllib.request.urlopen(url)
xmldata = uh.read()
print ('Retrieved',len(xmldata),'characters')
pydata = ET.fromstring(xmldata)
print('Name:', pydata.find('name'))
print('Attr:', pydata.find('comment'))
lst = pydata.findall('comment')
print (lst)
print('Count:', len(lst))
if True : break
これはXMLです:
#<comment>
# <name>Matthias</name>
# <count>97</count>
#</comment>
すべてのヘルプは非常に歓迎されるでしょう!
なぜあなたはURLを要求してすぐにそれを書きますか? –
私はテスト中にそれを続けて追加したくないので。私は最終的に上書きを削除します。 –
実際の 'xml'データ構造は、質問で与えられた例と同じではありません。 '' XPath式 '(https://docs.python.org/2/library/xml.etree.elementtree.html#xpath-support)を使用して、コメントノードを検索することができます。 'lst = pydata.findall( './ comments/comment')'。 – putu