Python は XML の特定のノード コンテンツを解析します
XML は、データの保存と送信によく使用される形式です。タグと属性の形式でデータ構造を記述し、自己記述的なファイルです。 Python では、さまざまなライブラリとメソッドを使用して XML ファイルを解析し、そのファイル内の特定のノード コンテンツを抽出できます。
この記事では、Python を使用して XML ファイルを解析し、特定のノードの内容を抽出する方法を紹介します。 XML 解析には Python の組み込み ElementTree
ライブラリを使用します。 ElementTree
はシンプルで直感的な API を提供し、XML の解析を非常に簡単にします。
まず、ElementTree
ライブラリをインストールする必要があります。これは、次のコマンドを使用してインストールできます。
pip install elementtree
インストールが完了したら、XML の解析を開始できます。ファイル。次の XML ファイル (example.xml という名前) があるとします。
<?xml version="1.0" encoding="UTF-8"?> <students> <student> <name>张三</name> <age>18</age> <gender>男</gender> </student> <student> <name>李四</name> <age>20</age> <gender>女</gender> </student> </students>
私たちの目標は、各学生ノードの名前、年齢、性別を抽出することです。
まず、ElementTree
ライブラリをインポートし、parse()
関数を使用して XML ファイルをロードする必要があります。
import xml.etree.ElementTree as ET tree = ET.parse('example.xml') root = tree.getroot()
## を呼び出すことで、 #parse( ) 関数を使用し、XML ファイルのパスを渡して、XML ファイルを
tree オブジェクトにロードしました。次に、
getroot() メソッドを使用して、XML ファイルのルート ノードを取得します。
findall() 関数を使用して、ノード名に基づいて特定のノードを検索します。
findall() 関数では、Xpath 式を渡して、検索するノードを指定する必要があります。この例では、すべての学生ノードを検索する必要があります。次のコードを使用できます。
students = root.findall('student')
findall()この関数は、Xpath 式を満たすすべてのノードを含むリストを返します。この例では、
students リストに 2 つの学生ノードが含まれています。
students リストを反復処理して、各学生ノードの名前、年齢、性別を抽出します。各スチューデント ノードについて、
find() メソッドを呼び出してノード名を渡すことで、対応するノードを見つけることができます。ノードのテキスト コンテンツは、
text プロパティを使用して取得できます。
for student in students: name = student.find('name').text age = student.find('age').text gender = student.find('gender').text print(f'姓名:{name}') print(f'年龄:{age}') print(f'性别:{gender} ')
import xml.etree.ElementTree as ET tree = ET.parse('example.xml') root = tree.getroot() students = root.findall('student') for student in students: name = student.find('name').text age = student.find('age').text gender = student.find('gender').text print(f'姓名:{name}') print(f'年龄:{age}') print(f'性别:{gender} ')
姓名:张三 年龄:18 性别:男 姓名:李四 年龄:20 性别:女
ElementTree ライブラリを使用すると、XML ファイルを簡単にロードし、必要なノードのコンテンツを検索して抽出できます。これは、XML ファイル内のデータを処理する場合、特に大量の XML データを読み取って分析する場合に非常に役立ちます。
ElementTree ライブラリを使用して XML ファイルを処理する方法と、
findall() および
find()## の使用方法を明確に理解できます。 # 必要なノードのコンテンツを検索して抽出する関数。この記事が初心者に少しでも役立つことを願っています。より詳細な学習と使用については、Python の公式ドキュメントを参照してください。
以上がPython は XML 内の特定のノードのコンテンツを解析しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。