【发布时间】:2010-09-15 11:31:48
【问题描述】:
我遇到的问题是我无法选择需要删除的特定 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 File name" 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 对象是空的。节点没有被选中,为什么?
【问题讨论】:
-
您尝试使用的 xml 示例怎么样?