我使用的是 Ubuntu 14.10,但手动安装了 lubuntu 桌面 (LXDE)。我使用 Glade 设计了我的 Python 应用程序的 UI。只要我不在<attribute>
XML 文件中使用属性 (),一切都会正常工作;当我这样做时,我在调用时会得到以下信息add_from_file
:
gi._glib.GError: <input>:18:41 <attribute> requires attribute "value"
第 18 行只是<attribute>
文件中标签的第一次出现,如下所示:<attribute name="weight">bold</attribute>
。
我的 Python 版本是3.4.3
。
我该如何解决这个问题?
答案1
正如错误消息所示,您必须添加一个名为的属性value
。
<attribute name="weight" value="bold" />
在你的定义中
<attribute name="weight">bold</attribute>
只有一个名称为 的属性name
。开始和结束标签之间的文本不是属性。标签名称attribute
与标签所需的属性无关。
有效 XML 文件的结构在 DTD 文件中定义,例如
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD XML Catalogs V1.0//EN" "file:///usr/share/xml/schema/xml-core/catalog.dtd">
在这个定义中,定义了标签的必要属性。如果 XML 文件不符合这些定义,则无效。在这种情况下,可能是 Glade 中的错误(生成无效的 XML)或者您没有事先验证 XML 文档。