簡體   English   中英

lxml:通過XSLT將XML轉換為HTML並獲取HtmlElements

[英]lxml: Converting XML to HTML through XSLT and get HtmlElements

我有作為XML文件的數據。 我還提供了一個XSLT來將XML轉換為HTML。 我可以使用lxml來執行轉換,但是,我想在轉換后更改一些HTML標記。 如何將這個新的etree轉換為HtmlElements,以便我可以專門使用某些方法,如.cssselect()等。

>>> import lxml.etree
>>> import lxml.html
>>>
>>> xmlstring = '''\
... <?xml version='1.0' encoding='ASCII'?>
... <root><a class="here">link1</a><a class="there">link2</a></root>
... '''
>>> root = lxml.etree.fromstring(xmlstring)
>>> root.cssselect('a.here')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'lxml.etree._Element' object has no attribute 'cssselect'

lxml.etree.tostring(root) - > lxml.html.fromstring(..)

>>> root = lxml.html.fromstring(lxml.etree.tostring(root))
>>> root.cssselect('a.here')
[<Element a at 0x2989308>]

獲取XML輸出:

>>> print lxml.etree.tostring(root, xml_declaration=True)
<?xml version='1.0' encoding='ASCII'?>
<root><a class="here">link1</a><a class="there">link2</a></root>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM