问题标签 [selectnodes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - MSXML 选择节点不工作
我正在开发一个自动化测试应用程序,目前正在编写一个函数来比较两个应该相同但可能不相同的 XML 文件之间的值。这是我正在尝试处理的 XML 示例:
(注意可能有多个<subreport>
元素,并且在这些元素中,有多个<record>
元素。)
我想要的是提取<value>
两个文档的标签,然后比较它们的值。那部分我知道该怎么做。问题在于提取本身。
由于我被困在 C++ 中,所以我使用 MSXML,并编写了一个包装器以允许我的应用程序抽象出实际的 XML 操作,以防我决定更改我的数据格式。
该包装器 CSimpleXMLParser 加载 XML 文档并将其“顶级记录”设置为 XML 文档的文档元素。(CRecord 是一个抽象类,CXMLRecord 是其子类之一,它可以单独或按组访问子记录,还允许访问记录的“值”(在 CXMLRecord 的情况下,子元素或属性的值) .) CXMLRecord 包含一个 MSXML::MSXMLDOMNodePtr 和一个指向 CSimpleXMLParser 实例的指针。) 包装器还包含用于返回子项的实用函数,CXMLRecord 使用这些函数返回其子记录。
在我的代码中,我执行以下操作(尝试返回所有<subreport>
节点以查看它是否有效):
这总是返回错误。CXMLRecord::GetChildRecords() 的实现内容基本上是
CSimpleXMLParser::SelectNodes() 是:
运行时,肯定会正确地将最高记录设置为<report>
元素。我可以用它做各种各样的事情,比如获取它的子节点(通过 MSXML 接口,而不是通过我的包装器)或其名称等。我知道我的包装器可以工作,因为我在应用程序的其他地方使用它进行解析一个 XML 配置文件,并且可以完美运行。
我想也许我对 XPath 查询表达式做了一些错误的事情,但我能想到的每一种排列都不会让人高兴。当我尝试处理这个 XML 文件时,MSXML::IXMLDOMNodeListPtr
返回的总是长度为 0。IXMLDOMNodePtr::SelectNodes()
这真让我抓狂。
c# - 如何在 XML 中更深入地导航并在其中附加数据
我已将 XmlDocument 加载到内存中并创建了新的 XmlElement。现在我正在尝试将 XmlElement 添加到路径 /report/section/hosts 但我不知道如何。我可以很容易地将它添加到 XML 的根节点下,但我无法弄清楚如何在 XML 中导航更深层次并只是附加到那里。在伪中,我正在尝试这样做:
doc.SelectNodes("/report/section/hosts").AppendChild(subRoot);
编码:
c# - XmlNode.SelectNodes 的基础知识?
我不确定为什么这不起作用。
我有一个已知格式的 XmlNode。这是:
我在一个名为pattern的变量中引用了该节点。我想要一个可迭代的节点集合,每个节点都由上面的 [block-of-xml-to-process] 表示。此时块的名称和结构尚不清楚。[设置名称] 是已知的。
这似乎很简单。我能想到六个应该指向块的 XPATH 表达式。我试过了:
但是,我显然缺乏对 XPATH 或 .SelectNodes 的一些特殊技巧的一些基本了解,因为它们都不能始终如一地工作。
我究竟做错了什么?
vb.net - 在 For Each 循环中获取 XML 元素的位置
如何在此循环中获取 XML 元素的位置?
我想要的输出是这样的
1 2 3 4 ....
dom - 使用具有多个替代路径的 selectNodes 或组合 2-3 IXMLDOMNODELIST
只是想知道是否有人可以帮助我编写以下 VBScript 脚本:
我可以做类似的事情吗:
Set obj = something.selectNodes(path1, path2, path3) // 它会在哪里匹配任何一个路径?
或者,如果没有,有没有办法可以组合 selectNodes 返回的内容(IXMLDOMNodeList)?例如
设置 obj1 = something.selectNodes(path1) 设置 obj2 = something.selectNodes(path2)
设置 obj3 = obj1 + obj2
提前谢谢了
c# - XmlNodeList(为什么这是空的)
我不明白为什么这个 NodeList 是空的
这里是 XmlFile
在最终脚本中,我想获得一个数组字符串,其中包含其中的每个属性。
谢谢斯特凡
c# - 从 XML 中检索属性
为什么运行这段代码...
在命令提示符下产生以下输出?
也就是说,不应该attributes.Count
返回 1 吗?
c# - 具有多个属性的 XmlNode.SelectNode
我的 xml 文件中的一个节点如下。
我正在使用的代码是 -
我想使用将接受 search_id 和 login_id 作为搜索属性的选择节点?如果 search_id 或 email_id 错误,我想返回 null。我怎么能这样做?
谢谢。卡皮尔
html - SelectNodes 和 GetElementsByTagName
SelectNodes 和 GetElementsByTagName 之间的主要区别是什么。