lxml

Parsing

XML と HTML の解析

概要 lxml

lxml は、XML と HTML を処理するための最も機能が充実した Python ライブラリです。 libxml2 と libxslt の長所を Python API と組み合わせて、非常に高速な解析、完全な XPath 1.0 サポート、XSLT 変換、および不正な形式のドキュメントでも信頼性の高い処理を提供します。

PyRunには、Pyodideパッケージ配布を介して lxml が含まれています。 XML 文字列の解析、XPath クエリの実行、ドキュメント ツリー間の移動をすべてブラウザ内で行うことができます。libxml2 やその他の C ライブラリをローカルにインストールする必要はありません。

コードと実行の出力

XML を解析し、XPath クエリを実行します。

from lxml import etree

xml_data = """
<bookstore>
  <book category="science">
    <title>A Brief History of Time</title>
    <author>Stephen Hawking</author>
    <price>12.99</price>
  </book>
  <book category="fiction">
    <title>1984</title>
    <author>George Orwell</author>
    <price>9.99</price>
  </book>
</bookstore>
"""

root = etree.fromstring(xml_data.strip())

print("All books:")
for book in root.findall("book"):
    title  = book.find("title").text
    author = book.find("author").text
    price  = float(book.find("price").text)
    print(f"  {title} by {author} — ${price:.2f}")

expensive = root.xpath("//book[price > 10]/title/text()")
print("\nBooks over $10:", expensive)

関連パッケージ

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。