2017-01-24 24 views
0

私はPythonでいくつかのXML解析をしようとしていますが、私は立ち往生しています。のは、私はこのようなXMLがあるとしましょう:PythonのXML固有の解析

<entries> 
<companies> 
    <company> 
    <name>ACME</name> 
    <size>50000</size> 
    <location>USA</location> 
    </company> 
    <company> 
    <name>PROGNET</name> 
    <size>3039</size> 
    <location>Mexico</location> 
    </company> 
</companies> 
</entries> 

私は 内のすべてを印刷できるようにしたい(基本的に私は<entries></entries>を表示したくない)

どのように私はそれを達成することができますか?ありがとう。

+0

ようこそ!最初に[ツアー(http://stackoverflow.com/tour)に参加して[良い質問をする方法](http://stackoverflow.com/help/how-to-ask)を学んで[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例を参照してください。そうすれば、私たちがあなたを助けやすくなります。 –

答えて

0

これを行うのに役立つxml parsing packagesがあります。

+0

私はすべてのドキュメントを読んでみましたが、ドキュメントにあるほとんどすべてを試しましたが、成功しませんでした。私はこれにこだわっている。 – Kilombo

+0

別の回答として例をアップロードしました – AndreyF

0

次に、ElementTreeを使用してコンテンツを印刷する方法の簡単な例を示します。

これは再帰的な解決方法であることに注意してください。非常に深いxmlファイルでは機能しません。

import xml.etree.ElementTree as ET 

def travel_xml(xml_node): 
    for child in xml_node: 
     txt = child.text.strip() # remove whitespaces 
     if txt != "": 
      print txt 
     travel_xml(child) 

tree = ET.parse('your_xml.xml') 
root = tree.getroot() 
travel_xml(root) 

出力は次のようになります。スタックオーバーフローへ

ACME 
50000 
USA 
PROGNET 
3039 
Mexico 

Process finished with exit code 0