如何在VBScript中解析此XML树?

如何在VBScript中解析此XML树?,xml,vbscript,Xml,Vbscript,我试图通过VB脚本中的XML树进行解析,但无法提取所需的值。我想提取名称值(例如CHNG_REQT_NB和CHNG_REQT_DTL_CO),但是使用下面的代码,我只能让它打印出“列”和与每个列关联的值,例如,使用下面的代码和XML,它将按如下方式打印出来: column 13389 column /* NOTES */ 1) CR#145: New Code Table 13389 /*注*/1)CR#145:新代码表 为此,请使用XPath,不要在子节点中爬行 Set xml = Crea

我试图通过VB脚本中的XML树进行解析,但无法提取所需的值。我想提取名称值(例如
CHNG_REQT_NB
CHNG_REQT_DTL_CO
),但是使用下面的代码,我只能让它打印出“列”和与每个列关联的值,例如,使用下面的代码和XML,它将按如下方式打印出来:

column 13389 column /* NOTES */ 1) CR#145: New Code Table

13389
/*注*/1)CR#145:新代码表

为此,请使用XPath,不要在子节点中爬行

Set xml = CreateObject("Msxml2.DOMDocument")
xml.Async = "False"

xml.Load("45694693.xml")

if( xml.parseError ) then  
    WScript.Echo        xml.parseError.reason & " line: " & xml.parseError.line
end if

for each ndColumn in xml.selectNodes( "//column" )
    WScript.Echo ndColumn.getAttribute( "name" ) + vbCrLf + ndColumn.text
next

WScript.Echo strReturn 

为此,请使用XPath,不要在子节点中爬行

Set xml = CreateObject("Msxml2.DOMDocument")
xml.Async = "False"

xml.Load("45694693.xml")

if( xml.parseError ) then  
    WScript.Echo        xml.parseError.reason & " line: " & xml.parseError.line
end if

for each ndColumn in xml.selectNodes( "//column" )
    WScript.Echo ndColumn.getAttribute( "name" ) + vbCrLf + ndColumn.text
next

WScript.Echo strReturn 

您需要获取节点的
name
属性的值,而不是节点名称

改变

用于row.ChildNodes中的每个元素
WScript.Echo elem.TagName
WScript.Echo elem.Text
下一步
进入

用于row.ChildNodes中的每个元素
WScript.Echo elem.GetAttribute(“名称”)
WScript.Echo elem.Text
下一步

代码将执行您想要的操作。

您需要获取节点的
name
属性的值,而不是节点名称

改变

用于row.ChildNodes中的每个元素
WScript.Echo elem.TagName
WScript.Echo elem.Text
下一步
进入

用于row.ChildNodes中的每个元素
WScript.Echo elem.GetAttribute(“名称”)
WScript.Echo elem.Text
下一步

代码将执行您想要的操作。

WScript.Echo elem.tagName
->
WScript.Echo elem.GetAttribute(“名称”)
就是这样!我试过了,但一定是在错误的地方试过了。将其作为答案发布,我会接受它。
WScript.Echo elem.tagName
->
WScript.Echo elem.GetAttribute(“名称”)
就是它!我试过了,但一定是在错误的地方试过了。把它作为答案贴出来,我会接受的。