HTML   发布时间:2022-04-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了什么是最支持DOM访问的Pythonic XHTML / HTML解析器/生成器/模板模块?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
它应该能够以高度面向对象的方式创建,修改和读取X / HTML,仍然感觉DOM喜欢但不是肥胖,并且真的是 Pythonic.
最好它也会处理格式错误的HTML,但我们可以跳过这个模板.

例如,我想这样做:

>> from someAmazingTemplate import *
>> html = Template('<html><head><title>Hi</title></head><body></body></html>')
>> html.head.append('<link type="text/css" href="main.css" rel="stylesheet" />')
>> html.head.title
Hi
>> html['head']['title']
Hi

我应该能够使用/定义短函数并像这样使用它们:

>> html.head.append(stylesheet(href="main.css"))
>> html.body.append(h1('BIG titlE!12',Class="roflol"))
>> html.body.sourcE
<body>
    <h1 class="roflol">
        BIG titlE!12
    </h1>
</body>

注意:如果它不存在,我将使用BSD / MIT / Python许可证.非常欢迎帮助.
任何有助于更多Pythonic Web应用程序开发的东西都会很棒.
非常感谢!

-Luke Stanley

解决方法

第一部分大部分可以在 ElementTree之前完成,但需要更多步骤:
>>> import xml.etree.ElementTree as ET
>>> html = ET.XML('<html><head><title>Hi</title></head><body></body></html>')
>>> html.head = html.find('head')
>>> html.head.append(ET.XML('<link type="text/css" href="main.css" rel="stylesheet" />'))
>>> html.head.title = html.head.find('title')
>>> html.head.title.text
'Hi'

第二部分可以通过创建Element对象来完成,但是你需要做一些自己的工作来使它按照你真正想要的方式发生:

>>> html.body = html.find('body')
>>> my_h1 = ET.Element('h1',{'class': 'roflol'})
>>> my_h1.text = 'BIG titlE!12'
>>> html.body.append(my_h1)
>>> html.body.sourcE = ET.toString(html.body)
>>> html.body.sourcE
'<body><h1 class="roflol">BIG titlE!12</h1></body>'

可以创建自己的样式表函数:

>>> def stylesheet(href='',type='text/css',rel='stylesheet',**kwargs):
...     elem = ET.Element('link',href=href,type=type,rel=rel) 
...     return elem
... 
>>> html.head.append(stylesheet(href="main.css"))

整个文件:

>>> ET.toString(html)
<html><head><title>Hi</title><link href="main.css" rel="stylesheet" type="text/css" /></head><body><h1 class="roflol">BIG titlE!12</h1></body></html>

但是,我认为如果你最终要编写自己的东西,这是一个很好的起点. ElementTree非常强大.

编辑:我意识到这可能不是你想要的.我只想提供一些可用的替代方案,并证明它实际上可以在没有太多工作的情况下完成.

大佬总结

以上是大佬教程为你收集整理的什么是最支持DOM访问的Pythonic XHTML / HTML解析器/生成器/模板模块?全部内容,希望文章能够帮你解决什么是最支持DOM访问的Pythonic XHTML / HTML解析器/生成器/模板模块?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。