xml - qml/qt 中带有 xpath 的父项

标签 xml qt xpath qml

如何在 qml/qt 的 xpath 查询中获取当前项目的父项?fn:parent()未实现,../是的,但对我不起作用。
好像是 focus问题。

xml 示例:

<groups>
  <group id="A">
    <item>bla</item>
    <item>blah</item>
  </group>
  <group id="B">
    <item>bla</item>
    <item>blah</item>
  </group>
  <group id="C">
    <item>bla</item>
    <item>blah</item>
  </group>
</groups>

以下 XmlRole 返回一个空字符串:
XmlListModel {
  query: "/groups/group/item"
  XmlRole { name: "group_id"; query: "../@id/string()" }
}

最佳答案

告诉模型从哪里进行查询的源标签在哪里?
您需要声明来源,您的 ID 属性在节点之外。并且必须声明使用的命名空间(例如 http://www.w3.org/2005/Atom )。所以我认为你的代码必须是这样的:

XmlListModel {
  query: "/groups/group/"
  namespaceDeclarations: "declare namespace group=\"http://www.w3.org/2005/Atom/\";"
  source: "url of your xml file"
  XmlRole { name: "group_id"; query: "../@id/string()" }
}

关于xml - qml/qt 中带有 xpath 的父项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7498718/

相关文章:

qt - 每个平台的默认文件位置?

java - 如何通过 Selenium 和 Java 根据 HTML 从下拉列表中选择一个选项

java - xstream - 以 UTF-8 格式保存 XML 的正确方法

c++ - 使用 Boost 更好的 XML 格式化?

c# - XML 如何使用 XPath 选择子元素

python - 命名空间错误lxml xpath python

php - 如何通过 Selenium 找到元素

jquery - 使用 XSL 将 XML 作为转换后的 HTML 嵌入到 HTML 页面中

qt - QPainter.drawText 斜体写在矩形之外

c++ - 在 Visual C++ 中使用 Qt 制作的库