2017-05-02 15 views
0

NOAAからXMLを取得しましたが、Pythonでminidomを使用して解析しようとしていますが、値を取得できません。PythonでXMLを解析する方法

`<parameters applicable-location="point1"> 
    <temperature type="maximum" units="Fahrenheit" time-layout="k-p24h-n7-1"> 
    <name>Daily Maximum Temperature</name> 
    <value>75</value> 
    <value>67</value> 
    <value>65</value> 
    <value>72</value> 
    <value>65</value> 
    <value>64</value> 
    <value>62</value> 
    </temperature> 
</parameters> 

`

私はタグの最高温度の下で値を取得する必要があります。

+0

このサンプルを小さなテストセットにトリミングすることができます。しかしもっと重要なのは、あなたがすでに持っているコードを投稿する必要があるということです。私たちが見ることができないコードに修正を提案することはできません。 – tdelaney

+0

さらに@tdelaneyに:[ask]と[mcve]を読んでください。 – boardrider

答えて

3

BeautifulpSoupを使用するのは簡単な方法です。

お試しください。このような。

from bs4 import BeautifulSoup 

XML_STRING = """ 
<parameters applicable-location="point1"> 
    <temperature type="maximum" units="Fahrenheit" time-layout="k-p24h-n7-1"> 
    <name>Daily Maximum Temperature</name> 
    <value>75</value> 
    <value>67</value> 
    <value>65</value> 
    <value>72</value> 
    <value>65</value> 
    <value>64</value> 
    <value>62</value> 
    </temperature> 
</parameters> 
""" 

soup = BeautifulSoup(XML_STRING, 'html.parser') 
for tag in soup.find_all('value'): 
    print(tag.string) 
2

libxmlでBeautiful Soupを使用できます。あなたがのpython3を使用している場合

sudo apt-get install libxml2-dev libxslt1-dev lib32z1-dev python-dev -y 
pip install lxml 
pip install beautifulsoup4 

python3-devpython-devを交換してください:ここではUbuntuの14.04のためにテストした適切な設定を行う方法です。次のようにXMLを解析することができます

file_content = """your xml string here""" 
from bs4 import BeautifulSoup 
soup = BeautifulSoup(file_content, "xml") 
max_temp_list = [int(item.string) for item in soup.find("temperature", {"type": "maximum"}).findAll("value")] 
print(max_temp_list) 

要素を見つけるのさらなる例についてはdocumentationを参照してください。

関連する問題