- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为了向现有元素添加新的子元素,我必须调用类方法,并将父元素作为参数。我希望子元素的创建是即将成为父元素的实例方法,并将子元素(来自 Element 构造函数)作为唯一的形式参数。
实际:
#!/usr/bin/python
from lxml import etree
root = etree.Element("parent")
childNode = etree.SubElement(root, "child")
预期(想象):
#!/usr/bin/python
from lxml import etree
root = etree.Element("parent")
childNode = root.AddSubElement(etree.Element("child"))
这是 lxml 设计者的决定,还是 lxml 设计的其他部分施加的约束,或者“更 Pythonic”,还是什么?
最佳答案
您可以这样做,但这样做的方法称为 append
,而不是 AddSubElement
:
childNode = root.append(etree.Element("child"))
lxml tutorial说“这很常见,所以有一种更短、更有效的方法来做到这一点:子元素工厂”。然而,它给出的使用 SubElement
的示例实际上比使用 append
的示例稍长,并且它没有解释它如何更有效,所以我承认我是不明白为什么这么说。您可以使用您更喜欢的语法。
看起来真正更短的方法是允许您按元素名称追加而不是手动创建 Element 对象的方法(例如,root.addChild("child")
)。我不知道为什么没有这样的方法,但我相信其他一些 XML 库也有类似的方法。
关于python - 为什么Python的lxml.etree.SubElement是类方法而不是实例方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223056/
在类构造函数中,我需要动态创建一些对象并将它们添加到 vector 中。这是我的代码: ContainerClass::ContainerClass() { for (int i = 0; i
我看过这里的文档: http://docs.python.org/dev/library/xml.etree.elementtree.html#xml.etree.ElementTree.SubEle
我使用以下方法创建了一个 Web 服务: Apache Axis 2 CodeGen 向导 v.1.6.2(绑定(bind):ADB) eclipse 朱诺 Tomcat 7 Java 6 该服务将自
如果我有 { "took": 4, "timed_out": false, "hits": { "total": 14, "max
我正在尝试在 Google App Engine 上使用 pptx-python(创建一个 powerpoint 文件)。我不需要图像,所以我只是注释掉了对 Pillow 的依赖。这给我留下了一些几乎
我使用 PY 的 ElementTree 成功地向元素添加了一个新节点。我现在尝试给它赋予属性,但失败了,尽管我正在按照教程进行操作。 我的示例 xml: # >> here wi
我想在一个 xml 文件中添加一个子元素,但在一个非常具体的位置,而不是附加到末尾。 标准方式是: subi = ET.SubElement(root[0][0], 'subi') 这很好。 但是:假
我有一个 XML 树,我想使用 Elementtree 对其进行解析。我的 XML 看起来像 Success 857 E857_INTL_APIXO_16643800_R1 1
嗨,我正在开发一个 Symfony 项目,我需要 JsTree 结构来表示数据库中的层次结构。我声明 & JsTree 库正确识别的结构。每个它的id=数据库中相应元素的id,我放了一个及其href
我正在使用 KSoap for Android ,但遇到以下问题:当我调用 Web 服务时,收到以下错误消息: SoapFault - faultcode: 'axis2ns5:Client.inpu
我想构建以下 XML 元素(为了自定义数字格式): Figura 1.2 - Description of figure. 但我不知道如何指定文本的位置。事实上,如果我在创建文本之前创建子元素,
我有一个 .NET WCF 服务和一个使用 Axis2 生成服务 stub 的 Java 应用程序。当我向 WCF 中的数据协定添加一个可选 属性并将其排序在属性列表的末尾(这应该是向后兼容的更改)时
背景 我正在使用 Python 2.6、ElementTree 和 SQLite3。我的脚本目前执行以下操作: 连接到数据库以从表/模式中检索信息 将必要的数据添加到 XML 树 输出一个(当前不正确
如果我有以下 xml: 7409 7419 7362 7332 7352 7322 7342 7245 7275 7255 7265 7235 我想要_id和 节点 ui
我正在使用 XmlSerializer。我的类(class): [Serializable] [XmlRoot(ElementName="MyClass")] public class MyClass
我正在使用 Maven 在我的 web 应用程序中预编译 JSP。我使用了相当多的自定义标签,但其中之一阻碍了 Apache 的 JSP 编译器。 JSP 的相关部分是这样的:
我有一个这样的示例 xml 文件: She went didn't go to school. 我想创建一个名为的子元素,并将所有内容放入其中。也就是说,
因此,我使用 ElementTree 创建一个新的子元素,其中新节点的文本应该是一个字典值,如果相应值的字典键等于同一父节点中另一个 XML 节点的文本。 XML 示例:
我是一名优秀的程序员,十分优秀!