Pythonのxml.parsers.expat
モジュールは、Expat非検証XMLパーサーへのPythonインターフェイスです。このモジュールは、XMLパーサーの現在の状態を表す単一の拡張タイプxmlparser
を提供します。
xmlparser
オブジェクトが作成された後、オブジェクトのさまざまな属性をハンドラー関数に設定できます。XMLドキュメントがパーサーに供給されると、XMLドキュメントの文字データとマークアップに対してハンドラー関数が呼び出されます。
以下に、PythonとExpatを使用してXMLを解析する基本的なコードスニペットを示します。
from xml.parsers import expat
class xml_parser:
def __init__(self, xml):
self.xml = xml
self.p = expat.ParserCreate()
# parse setting
self.p.StartElementHandler = self.start_element
self.p.EndElementHandler = self.end_element
self.p.CharacterDataHandler = self.char_data
def start_element(self, name, attrs):
print('Start element:', name, attrs)
def end_element(self, name):
print('End element:', name)
def char_data(self, data):
print('Character data:', repr(data))
def parse(self):
self.p.Parse(self.xml, 1)
このコードは、XMLドキュメントを解析し、各要素の開始と終了、および文字データを印刷します。
PythonとExpatを使用すると、XMLドキュメントの解析が容易になります。ただし、xml.parsers.expat
モジュールは、悪意のあるデータに対して安全ではないため、信頼できないまたは認証されていないデータを解析する必要がある場合は注意が必要です。.