31 ตุลาคม 2557

Published 10/31/2557 by with 0 comment

ประมวลผล 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
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)