【发布时间】:2016-06-24 14:40:57
【问题描述】:
我有以下 XML
<cqresponse xmlns="http://ibm.com/rational/cqweb/v7.1">
<rows>
<row>
<id>
<![CDATA[ ABC00082474 ]]>
</id>
<Short_Desc>
<![CDATA[
Some Description 1
]]>
</Short_Desc>
<State>
<![CDATA[ Some State 1 ]]>
</State>
</row>
<row>
<id>
<![CDATA[ ABC00082475 ]]>
</id>
<Short_Desc>
<![CDATA[
Some Description 2
]]>
</Short_Desc>
<State>
<![CDATA[ Some State 2 ]]>
</State>
</row>
</rows>
</cqresponse>
我想使用 VB 脚本将其导入 Excel。我有以下代码,但 SelectNodes 没有返回任何内容。它只是返回 Nothing
Sub Test()
Dim nodeList As IXMLDOMNodeList
Dim nodeRow As IXMLDOMNode
Dim nodeCell As IXMLDOMNode
Dim rowCount As Integer
Dim cellCount As Integer
Dim rowRange As Range
Dim cellRange As Range
Dim sheet As Worksheet
Dim xpathToExtractRow As String
Dim dom As DOMDocument60
xpathToExtractRow = "/cqresponse/rows/row"
Set dom = New DOMDocument60
dom.Load ("C:\ABC.xml") ' this file contains the same xml data as mentioned above
Set sheet = ActiveSheet
Set nodeList = dom.SelectNodes(xpathToExtractRow)
rowCount = 0
For Each nodeRow In nodeList
rowCount = rowCount + 1
cellCount = 0
For Each nodeCell In nodeRow.ChildNodes
cellCount = cellCount + 1
Set cellRange = sheet.Cells(rowCount, cellCount)
cellRange.Value = nodeCell.Text
Next nodeCell
Next nodeRow
End Sub
这有什么问题还是我需要采取不同的方法?
【问题讨论】:
-
是 VBA 还是 VB.NET,这是两种截然不同的语言。
-
我的意思是VBA,不知道为什么它有时会在主题中显示vb.net
-
这是因为它被标记为这样。其他人编辑了您的帖子以将其删除。