我遇到的问题是我无法选择需要删除的特定 XML 节点。我已经尝试使用适用于某些 XML 文件的 XPath 来选择节点,但我无法为更复杂的文件中的节点找出正确的 XPath。
有谁知道可以加载 XML 文件的免费软件工具,以便用户可以选择特定节点并接收准确的 XPath,而无需在路径中进行枚举?
/root/anything[2]
<-- 不幸的是,我不能使用这样的语句,因为元素的数量可能会改变。我需要一个基于属性的表达式。
如果没有用于此操作的免费软件工具,是否有人知道另一种方式我可以如何选择所需的节点?
XML 示例:
根节点: SmsFormData
属性: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" FormatVersion="1.0" xmlns=" http://schemas.microsoft.com/SystemsManagementServer/2005/03/ConsoleFramework"
子节点:表格
属性: Id="some GUID" CustomData="Some data" FormType="some type" ForceRefresh="false"
子/子节点:页面
子/子/子节点:页面
属性: VendorId="VendorName" Id="some GUID" Assembly="dll 文件名" Namespace="some Namespace" Type="some Type" HelpID="">
我选择这个特定页面的 xPath 表达式现在是:
xPath = /SmsFormData/Form/Pages/Page[@Id="some Guid"]
要进行选择,我使用以下 vbscript 代码:
Set objDOM = CreateObject("Msxml2.DOMDocument.4.0")
objDOM.async = false
objDOM.load(file)
set objNode = objDOM.selectSingleNode(xPath)
现在的问题是objNode
对象是空的。节点没有被选中,但是为什么呢?