View All Posts. MiCHiLU.com powered by Django ;-)

[Python]: lxml を使ってみました

Voluntas さんからのお薦め。 むちゃくちゃ速いらしい lxml を使ってみました。 libxml2, libxslt の Mac OSX 用 dmg も発見。 dmg をマウントして /Library/Frameworks に放り込むだけ。

$ svn co http://codespeak.net/svn/lxml/trunk lxml
$ cd lxml
$ sudo python setup.py install
Building lxml version 1.3.beta-43887
...

trunk版 (1.3 bata) じゃないと builder は使えません。

>>> from lxml import etree
>>> from lxml.builder import E

>>> etree.tostring(E("url"))
'<url/>'
>>> etree.tostring(E("url", "michilu.com"))
'<url>michilu.com</url>'
>>> etree.tostring(E("url",("michilu.com")))
'<url>michilu.com</url>'
>>> etree.tostring(E("url", href="michilu.com"))
'<url href="michilu.com"/>'
>>> etree.tostring(E.url(href="michilu.com"))
'<url href="michilu.com"/>'

>>> page = (
...   E.html(
...     E.head(
...       E.title(u'MiCHiLU.com', {'id': 'title'})
...       ),
...     E.body(
...       E.h1(u'[Django]: Django\u548c\u8a33\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8 sync to r5387'),
...       E.p(
...         E.a(u'Enjoy!', href=u'http://michilu.com/'), u'Ni!'),
...       )
...     )
...   )

>>> print etree.tostring(page, 'utf-8', pretty_print=True)
<html>
  <head>
    <title id="title">MiCHiLU.com</title>
  </head>
  <body>
    <h1>[Django]: Django和訳ドキュメント sync to r5387</h1>
    <p><a href="http://michilu.com/">Enjoy!</a>Ni!</p>
  </body>
</html>
Sun, 3 Jun 2007 09:01:41 +0900 source edit
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.1 Japan License.
View All Posts. MiCHiLU.com powered by Django ;-)