首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lxml:通过XSLT和get HtmlElements将XML转换为HTML

lxml:通过XSLT和get HtmlElements将XML转换为HTML
EN

Stack Overflow用户
提问于 2013-06-22 00:02:23
回答 1查看 2.5K关注 0票数 3

我有一个XML文件形式的数据。我还得到了一个将XML转换为HTML的XSLT。我可以使用lxml来执行转换,但是,我希望在转换之后更改一些HTML标记。如何将这个新etree转换成HtmlElements,这样我就可以专门使用.cssselect()等特定方法了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-22 01:09:38

代码语言:javascript
复制
>>> 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(..)

代码语言:javascript
复制
>>> root = lxml.html.fromstring(lxml.etree.tostring(root))
>>> root.cssselect('a.here')
[<Element a at 0x2989308>]

获取XML输出:

代码语言:javascript
复制
>>> 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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17239607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档