首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用XPath搜索QDomDocument中的节点

使用XPath搜索QDomDocument中的节点
EN

Stack Overflow用户
提问于 2019-05-09 22:45:23
回答 1查看 1.2K关注 0票数 2

我被System.Xml名称空间中的C#及其XML操作类宠坏了(当然是坏了)。我可以将XML文件加载到XmlDocument中。我可以使用XmlNode.SelectNodes( "an xpath expression" )在整个文档中搜索与XPath表达式匹配的节点。结果是一个包含我可以遍历的XmlNode对象的XmlNodeList

现在我使用的是C++ Qt (版本4.7.1和4.8,但具体的版本可能并不重要)。我可以将XML文件加载到QDomDocument中。但是,令我沮丧的是,我不能像在C#中那样使用XPath表达式搜索文档。

我使用QXmlQuery在XML文件中查找内容的成功有限。如果我以正确的方式编写查询,我可以获得结果的QStringList,迭代该QStringList,然后将数据存储在某个地方供以后使用。

但是,我仍然希望能够直接通过XPath表达式获得文档中的QDomNode对象集合。一个特定的用例是找到一个"name“属性具有特定值的元素,然后用一个新元素替换该元素。这就是为什么我想要QDomNode对象本身,而不仅仅是QXmlQuery可以提供的一些基于字符串的表示或其他表示。对于刚才提到的特定用例,我使用QDomElement.elementsByTagName()并迭代这些元素,但它不像XPath那样灵活,也不像case那样酷。

这只是痴心妄想吗?开发一些实现QAbstractXmlReceiver接口的新类是否值得呢?或者,我最终会得到一个与QDomDocument中的QDomNode对象没有直接关系的新数据集合吗

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56062025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档