python lxml使用ilegal外壳添加项目名称
我想使用python为wordpress构建xml 这是我当前的代码:python lxml使用ilegal外壳添加项目名称,python,lxml,Python,Lxml,我想使用python为wordpress构建xml 这是我当前的代码: #!/usr/bin/python import lxml.etree import lxml.builder from lxml import etree E = lxml.builder.ElementMaker() RSS = E.rss channel = E.channel ITEM = E.item FIELD1 = E.field1 FIELD2 = E.field2 title = E.title
#!/usr/bin/python
import lxml.etree
import lxml.builder
from lxml import etree
E = lxml.builder.ElementMaker()
RSS = E.rss
channel = E.channel
ITEM = E.item
FIELD1 = E.field1
FIELD2 = E.field2
title = E.title
link = E.link
description = E.description
pubDate = E.pubDate
language = E.language
the_doc = RSS(
channel(
title("feed rss test by python"),
link("https://localhost/"),
description("description site"),
pubDate("Mon, 23 Sep 2019 10:25:12 +0000"),
language("en-US"),
)
)
tmp = ITEM(
title("title"),
link("link"),
pubDate("Mon, 23 Sep 2019 10:25:12 +0000"),
description("test description"),
)
the_doc.append(RSS(channel(tmp)))
test = lxml.etree.tostring(the_doc, pretty_print=True, xml_declaration=True, encoding='UTF-16')
with open("data.xml", 'wb') as output:
output.write(test)
代码正在运行,我的问题是我想在表item中添加新的item
wp:status
,python不允许用声明变量:。。。如何使用名称声明xml项wp:status
?如果我正确获得了您的问题,您需要通过xml.builder.ElementMaker工厂制作一个名为“wp:status”的标记
根据这一点,可以使用其他apiE
公开:
E = lxml.builder.ElementMaker()
wp_status = E("wp:status")
tmp = ITEM(
wp_status("cool status"),
...
)
ValueError:无效的标记名“wp:status”不以这种方式工作:(请查看此处:
:
用于构建名称空间,因此您不能这样添加。您需要使用名称空间的语法。我想这里回答了这个问题: