2017-05-28 5 views
-1
from xml.etree.ElementTree import ElementTree 

from xml.etree.ElementTree import Element 

import xml.etree.ElementTree as etree 

tree= etree.parse(r'N:\myinternwork\files xml of bus systems\sample.xml','r') 

root= tree.getroot() 

print(root) 
+1

可能な重複を?ファイル/tmp/xx.xmlにw3schools.comからthis例1で

](https://stackoverflow.com/q/44215454/1255289) – miken32

+0

誰でも質問の投票を削除してください、私は今質問をすることができませんでした。質問をしたその時、私はあまり知らなかったオーバーフローを積み重ねるために新しいものでした。今私は質問をするための基本的な前提条件を読んだ。前もって感謝します! –

答えて

1

あなたは、あなたがした場合、動作しますので、あなたが設けられた第二のパラメータ( 'R')の、ファイルsample.xmlを解析していない例:

tree= etree.parse(open(r'N:\myinternwork\files xml of bus systems\sample.xml','r')) 

またはあたりなど

tree= etree.parse(r'N:\myinternwork\files xml of bus systems\sample.xml') 

the xml doc

xml.etree.ElementTree.parse(source, parser=None) Parses an XML section into an element tree. source is a filename or file object containing XML data. parser is an optional parser instance. If not given, the standard XMLParser parser is used. Returns an ElementTree instance.

コードには2つの行がありませんトンすべてで使用:

from xml.etree.ElementTree import ElementTree 
from xml.etree.ElementTree import Element 

と大きな問題は、それがエラーをスローしていることです:Pythonの2と3の

AttributeError: 'str' object has no attribute 'close' 

両方

ので、あなたが実行されていないようですあなたの質問に提示した非最小のサンプルコード

<?xml version="1.0" encoding="UTF-8"?> 
<note> 
    <to>Tove</to> 
    <from>Jani</from> 
    <heading>Reminder</heading> 
    <body>Don't forget me this weekend!</body> 
</note> 

私は対話的にこれを実行することができます:[xmlファイルのルートがNONE理由として与えているの

$ python 
Python 3.6.1 (default, Mar 22 2017, 11:20:29) 
[GCC 4.8.4] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import xml.etree.ElementTree as etree 
>>> tree = etree.parse('/tmp/xx.xml') 
>>> print(tree) 
<xml.etree.ElementTree.ElementTree object at 0x7ff247570e10> 
>>> root = tree.getroot() 
>>> print(root) 
<Element 'note' at 0x7ff24756d7c8> 
>>> 
+0

"あなたはタプルを解析しています"は、問題を説明する奇妙な方法です。 'parse()'関数はオプションの2番目の引数をとりますが、その引数は文字列ではなく 'XMLParser'オブジェクトでなければなりません。さらに、lxmlのドキュメントにリンクしていますが、OPはlxmlを使用していません。 – mzjn

+0

@mzjn私の間違った、私は間違ったドキュメント( 'etree.parse()のためのグーグル)を見ていた – Anthon

+0

import xml.etree.ElementTree etree tree = etree.parse(r'N:\ myinternwork \ files xml ofバスシステム\ sample.xml ')) root = tree.getroot() print(root) 出力はありません。 –

関連する問題