如何使用Python LXML Objectify创建3次相同的XML元素
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用Python LXML Objectify创建3次相同的XML元素,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1546字,纯文字阅读大概需要3分钟。
内容图文
![如何使用Python LXML Objectify创建3次相同的XML元素](/upload/InfoBanner/zyjiaocheng/657/58fb12b68df1419dae531e8df7a0c1ed.jpg)
几周前,我问了一个关于添加multiple elements的问题,现在我遇到了类似的问题.我必须创建一些XML,其中包含以下内容:
<embossed>
<line>Test Line</line>
<line>Test Line 2</line>
<line>Test Line 3</line>
</embossed>
我无法弄清楚如何使用LXML objectify.Element()方法连续N次使用不同的文本创建相同的元素.我尝试了这个:
embossed = objectify.Element('embossed')
embossed.line = objectify.Element("line")
embossed.line = objectify.Element("line")
但是,我最后只在“浮雕”元素中添加了一个“线”元素.有谁知道如何做到这一点?谢谢!
解决方法:
只需将线条附加到浮雕上,即可:
embossed = objectify.Element('embossed')
embossed.append(objectify.Element('line'))
embossed.line[-1] = 'Test Line'
embossed.append(objectify.Element('line'))
embossed.line[-1] = 'Test Line 2'
每个lxml树标记的作用就像一个列表,其中任何子代都是列表中的元素.只需附加新的objectify.Element对象即可使它们成为您将其附加到的标签的子代.
然后,您可以使用索引来访问该列表的每个元素; -1索引是最后一个元素,允许我们设置它的文本.
上面的代码输出:
>>> from lxml import objectify, etree
>>> embossed = objectify.Element('embossed')
>>> embossed.append(objectify.Element('line'))
>>> embossed.line[-1] = 'Test Line'
>>> embossed.append(objectify.Element('line'))
>>> embossed.line[-1] = 'Test Line 2'
>>> print etree.tostring(embossed, pretty_print=True)
<embossed xmlns:py="http://codespeak.net/lxml/objectify/pytype" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" py:pytype="TREE">
<line py:pytype="str">Test Line</line>
<line py:pytype="str">Test Line 2</line>
</embossed>
内容总结
以上是互联网集市为您收集整理的如何使用Python LXML Objectify创建3次相同的XML元素全部内容,希望文章能够帮你解决如何使用Python LXML Objectify创建3次相同的XML元素所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。