如何在xml.etree中设置命名空间前缀
我想在xml.etree中设置命名空间前缀。我在网上找到了register_namespace(prefix, url)这个方法,但它报了“未知属性”的错误。我也试过用nsmap=NSMAP,但这也不行。如果能给我一个示例语法,教我怎么添加指定的命名空间前缀,我会非常感激。
1 个回答
1
register_namespace
这个功能是在 lxml 2.3 版本中才引入的(当时还处于测试阶段)。
我认为在创建一个元素时,你可以提供一个 nsmap
参数(这是一个字典,用来映射前缀和网址),但是我觉得你不能更改已经存在的元素的这个参数。(元素上有一个 .nsmap
属性,但修改它似乎没有效果。元素上还有一个 .prefix
属性,但这个是只读的,不能更改。)