xmlファイルは、組み込みのpythonのxml.domを使用して解析および処理できます。
xmlとは
XMLはExtensibleMarkup Language(EXtensible Markup Language)の略です
XMLはマークアップ言語であり、HTMLと非常によく似ています
XMLは、データを表示するのではなく、データを送信するように設計されています
XMLは、自己記述型になるように設計されています。
XMLはW3Cの推奨標準です
xml.dom固有の操作例:
この例では、xmlモジュールを使用してxmlファイルに書き込みます
from xml.dom.minidom import Document
doc =Document()
people = doc.createElement("people")
doc.appendChild(people)
aperson = doc.createElement("person")
people.appendChild(aperson)
name = doc.createElement("name")
aperson.appendChild(name)
personname = doc.createTextNode("Annie")
name.appendChild(personname)
filename ="people.xml"
f =open(filename,"w")
f.write(doc.toprettyxml(indent=" "))
f.close()
コンテンツの拡張:
XMLファイルの解析
pythonがXMLを解析するための3つの一般的な方法があります。
1つはxml.dom。*モジュールで、これはW3C DOMAPIの実装です。DOMAPIを処理する必要がある場合は、このモジュールが非常に適しています。
2つ目は、SAX APIの実装であるxml.sax。*モジュールです。このモジュールは、速度とメモリ使用量と引き換えに利便性を犠牲にします。SAXはイベントベースのAPIであるため、「オンエア」で大量に処理できます。ドキュメントをメモリに完全にロードする必要はありません。
3つ目はxml.etree.ElementTreeモジュール(略してET)で、軽量のPythonスタイルのAPIを提供します。DOMと比較してETははるかに高速であり、SAXと比較して使用できる快適なAPIが多数あります。このETのET.iterparseは、「空中」処理方法も提供します。ドキュメント全体をメモリにロードする必要はありません。ETの平均パフォーマンスはSAXのパフォーマンスと似ていますが、APIの方が効率的で使いやすいです。
これまで、Pythonがxmlファイルを生成する方法に関するこの記事を紹介しました。xmlファイルの関連するPython生成方法については、ZaLou.Cnで以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後、ZaLou.Cnをさらにサポートしていただければ幸いです。 !
Recommended Posts