2
我有作爲XML文件來的數據。我也提供了一個XSLT來將XML轉換爲HTML。我可以使用lxml來執行轉換,但是,我想在轉換後更改一些HTML標記。如何將這個新的etree轉換爲HtmlElements,以便我可以專門使用某些方法,如.cssselect()等。lxml:通過XSLT將XML轉換爲HTML並獲取HtmlElements
我有作爲XML文件來的數據。我也提供了一個XSLT來將XML轉換爲HTML。我可以使用lxml來執行轉換,但是,我想在轉換後更改一些HTML標記。如何將這個新的etree轉換爲HtmlElements,以便我可以專門使用某些方法,如.cssselect()等。lxml:通過XSLT將XML轉換爲HTML並獲取HtmlElements
>>> 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>
請看看http://stackoverflow.com/questions/30662205/get-html-report-的-JetBrains公司的命令行工具分析 –
是不是更容易改變XSLT代碼? – akonsu
編號我想從新創建的標籤中獲取文件名,以便Base64將它們編碼到新的html文件中。像這樣的東西。 – OozeMeister
嗨,你可能會向我發送用於將xml和xslt轉換爲html的代碼嗎?我在網上找不到任何東西。 – Christopher