Skip to content

ประมวลผล XML อย่างมีประสิทธิภาพใน Python ด้วยโมดูล lxml

  โมดูล lxml  เป็นโมดูลใน Python โมดูลหนึ่งสำหรับประมวลผล XML อย่างมีประสิทธิภาพ ใช้งานง่ายที่สุดในบรรดาโมดูลสำหรับจัดการ XML ใน Python และเป็น Pythonic ที่รวม libxml2/libxslt กับ ElementTree API ทำให้สนับสนุนทั้ง XPath, RelaxNG, XML Schema, XSLT, C14N และอื่น ๆ อีกมากมาย ใช้ BSD license สนับสนุนทั้ง Python 2 , Python 3

นอกจากนั้น โมดูล lxml ยังเป็นโมดูลที่จัดการ XML ได้เร็วที่สุดในบรรดาโมดูลของ Python lxml.de/performance.html

ตัวอย่างโค้ดการใช้งาน XPath แบบง่าย ๆ ในโมดูล lxml

ไฟล์ data.xml
<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book>
   <title>My First Book</title>
   <abstract>
         <para>First paragraph of the abstract</para>
         <para>Second paragraph of the abstract</para>
    </abstract>
    <keywordSet>
         <keyword>First keyword</keyword>
         <keyword>Second keyword</keyword>
         <keyword>Third keyword</keyword>
    </keywordSet>
</book>

</bookstore>
ไฟล์ a.py

from lxml import etree

tree = etree.parse('data.xml') #ไฟล์ data.xml

paragraphs = tree.xpath('/abstract/para/text()')
keywords = tree.xpath('/keywordSet/keyword/text()')

print(paragraphs)
print(keywords)

ผลลัพธ์
['First paragraph of the abstract', 'Second paragraph of the abstract']
['First keyword', 'Second keyword', 'Third keyword']

โหลดโมดูล lxml ได้ที่ pypi.python.org/pypi/lxml/ หรือใช้ pip โดยใช้คำสั่ง pip install lxml
เอกสารการใช้งาน  lxml lxml.de/tutorial.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

2 thoughts on “ประมวลผล XML อย่างมีประสิทธิภาพใน Python ด้วยโมดูล lxml

  1. PKZ

    อยากเริ่มเรียนการใช้ LXML บน python เนื่องจากงานที่ทำเริ่มหันมาใช้

    ไม่ทราบว่ารับสอน หรือพอให้คำชี้แนะได้ไหมครับ

    Reply
    1. wannaphong

      แนะนำให้ศึกษารูปแบบไฟล์ xml ก่อนครับ แต่ศึกษาว่าไฟล์ xml ที่จะนำมาใช้ มีข้อมูลส่วนไหนที่จะนำมาใช้ แล้วเปิดเอกสาร lxml อ่านประกอบครับ

      Reply

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *