我在检索 1 个 XML 文件的节点值时遇到问题。对于除此之外的所有其他 XML 文件,它都可以使用。我已经检查过 XML 是否已加载并且确实加载了。我可以在 locals 窗口中找到这些值,因此它肯定会读取 XML 文件。检索此节点值的问题。
我用于其他文件的代码:
Set oXMLFile = CreateObject("Microsoft.XMLDOM")
XMLFileName = Dir(L_Folder & "\*" & Control & "*.xml")
oXMLFile.Load L_Folder & "\" & XMLFileName
Set NameNode = oXMLFile.SelectNodes("/DataSetCollection/DataSet/Data/Lot/LotRunGenKey")
MsgBox NameNode(i).NodeValue
Run Code Online (Sandbox Code Playgroud)
对于我/text()在最后添加的其他 XML 文件,因为每个节点值都有一个额外的文本行。
<?xml version="1.0"?>
<DataSetCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DataSet Name="" Type="" Version="11.2.0" CreateTime="20200220190104">
<Data IsVirtual="false">
<Lot ID="" LotRunGenKey="4bccbfaf-0868-4240-a94f-724d9a79b102" ARPFlag="1" />
Run Code Online (Sandbox Code Playgroud)
因为LotRunGenKey是一个属性而不是一个 XML 节点,所以使用该.Attributes属性:
Set NameNode = oXMLFile.SelectNodes("/DataSetCollection/DataSet/Data/Lot")
MsgBox NameNode(0).Attributes.getNamedItem("LotRunGenKey").Text
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |