Python 使用lxml为Wordpress导入程序编写自定义XML文件

Python 使用lxml为Wordpress导入程序编写自定义XML文件,python,xml,wordpress,lxml,Python,Xml,Wordpress,Lxml,好的,这是我目前的情况: 我对XML或lxml的了解还不是很好,因为到目前为止我很少使用XML文件。 所以,请告诉我,我的方法是否真的很愚蠢 我想使用Wordpress导入器为我的Wordpress安装提供一个自定义XML文件。 默认格式如下所示: 现在有一些标签看起来像这样 <wp:author> 这导致了一个错误,因为我不允许写wp:author,但只能写author。 我使用谷歌,查看lxml网站,得出以下结论: WP = ElementMaker(namespace="ht

好的,这是我目前的情况:

我对XML或lxml的了解还不是很好,因为到目前为止我很少使用XML文件。 所以,请告诉我,我的方法是否真的很愚蠢

我想使用Wordpress导入器为我的Wordpress安装提供一个自定义XML文件。 默认格式如下所示:

现在有一些标签看起来像这样

<wp:author>
这导致了一个错误,因为我不允许写wp:author,但只能写author。 我使用谷歌,查看lxml网站,得出以下结论:

WP = ElementMaker(namespace="http://wordpress.org/export/1.2/",
                  "nsmap={'wp' : "http://wordpress.org/export/1.2/"})
author = WP("author")
输出:

<wp:author xmlns:wp="http://wordpress.org/export/1.2/"/>

好吧,更好。正如我今天学到的,wp属于名称空间的东西。但是我不想让xmlns:wp东西出现,因为它不在XML文件中。我查看了Wordpress本身是如何导出内容的,他们的做法如下:

echo“”$作者->身份证';
现在我的问题是,如果有一种方法可以获得一个没有xmlns:wp内容的标记,那么像他们那样做是更好,还是应该坚持使用lxml?使用lxml创建XML文件似乎是更好的方法,因为它(通常)非常简单,而且更易于阅读

我已经尝试过objectify.deannotate、cleanup\u名称空间和类似的建议,但所有这些都不起作用。我希望你们中的一些人能给出答案,要么建议使用lxml解决我的问题,要么说,最好像Wordpress人那样做

如果我忽略了一个已经回答过的类似问题,我真的很抱歉,请告诉我

多谢各位
下面是我的建议:从LXML中退一步,考虑Python内置的XML处理支持:一个名为XML.ETRe.EnEntError的模块。 将其导入repl,如下所示:

将xml.etree.ElementTree导入为ET

玩一会儿。以下是关于该模块的优秀python文档:

构建图元非常简单:

a = ET.Element('wp:author')
ET.dump(a)

然后添加一些子元素。这些都在文档中。

太好了,谢谢。这很有效。:-)我从使用google what来生成xml开始,后来出现了lxml,所以我不知何故跳过了内置的xml模块:(
echo '<wp:author_id>' . $author->ID . '</wp:author_id>';
a = ET.Element('wp:author')
ET.dump(a)