- 49
- 0
我读取一个xhtml
<?xml version='1.0' encoding='utf-8'?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta name="calibre:cover" content="true"/>
<title>Cover</title>
<style type="text/css" title="override_css">
@page {padding: 0pt; margin:0pt}
body { text-align: center; padding:0pt; margin: 0pt; }
</style>
</head>
<body>
<div>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100%" height="100%" viewBox="0 0 200 266" preserveAspectRatio="none">
<image width="200" height="266" xlink:href="cover1.jpeg"/>
</svg>
</div>
</body>
</html>
把一个xhtml里的body里的保存到新的html
from lxml import etree
with open("test.xhtml", 'r', encoding='utf8') as html:
tree = etree.parse(html)
body = tree.find(
'//xmlns:body',
namespaces={'xmlns': 'http://www.w3.org/1999/xhtml'}
)
nsmap = body.nsmap
# 这里不加nsmap所有标签都会有namespaces
page_xml = etree.Element('div', nsmap=nsmap)
for child in body.iterchildren():
page_xml.append(child)
etree.ElementTree(page_xml).write(
"new.html",
pretty_print=True,
encoding='utf-8',
method='html'
)
最后转换出来new.html多了一个xmlns,问题来了怎么去掉呢?
<div xmlns="http://www.w3.org/1999/xhtml">
<div>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100%" height="100%" viewBox="0 0 200 266" preserveAspectRatio="none">
<image width="200" height="266" xlink:href="cover1.jpeg"/>
</svg>
</div>
</div> 0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
烈性的风 普通会员 1楼
在使用lxml库时,可以使用
register_namespace函数来注册新的namespace,然后使用register namespace函数来删除某个namespace。以下是一个例子:```python from lxml import etree
创建一个新的namespace
ns = etree.register_namespace("http://example.com", "http://example.org")
创建一个元素并注册新的namespace
root = etree.Element("root") root.set("http://example.com","http://example.org")
删除注册的namespace
etree.unregister_namespace("http://example.com") ```
在这个例子中,我们首先创建了一个新的namespace,然后创建了一个元素并注册了这个namespace。然后,我们使用
unregister_namespace函数删除了这个namespace。注意,
unregister_namespace函数会清空该namespace的所有元素和关系,所以在使用时需要小心。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
