Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用VBA从XML标记获取数据_Xml_Vba - Fatal编程技术网

使用VBA从XML标记获取数据

使用VBA从XML标记获取数据,xml,vba,Xml,Vba,我有以下格式的XML文件 <?xml version="1.0" encoding="UTF-8"?> <root1> <root2> <value1 claimed="23"/> <value2 claimed="3343"/> <value3 claimed="5656"/> </root2> </root1> 此代码适用于以下XML结构

我有以下格式的XML文件

<?xml version="1.0" encoding="UTF-8"?>
    <root1>
    <root2>
    <value1 claimed="23"/>
    <value2 claimed="3343"/>
    <value3 claimed="5656"/>
    </root2>
    </root1>
此代码适用于以下XML结构

<?xml version="1.0" encoding="UTF-8"?>
<root1>
<root2>
<value1>23</value1>
<value2>3343</value2>
<value3>5656</value3>
</root2>
</root1>

23
3343
5656
任何人都可以为此更新我的VBA代码


提前感谢。

您可以尝试将属性选择器附加到XPath查询:

subtestxml()
设置xmlDoc=CreateObject(“Microsoft.XMLDOM”)
xmlDoc.setProperty“SelectionLanguage”、“XPath”
xmlDoc.async=False
'XML文件
加载(ThisWorkbook.Sheets(1).范围(“A1”).值)
'XPath存储在这里
设置nodeXML=xmlDoc.SelectNodes(范围(“A2”)。值&/@claired)
列(“B:B”)。清除
对于i=0到nodeXML.Length-1
范围(“B”&i+1).Value=nodeXML(i).NodeValue
下一个
端接头

我还删除了一些冗余代码,并对其进行了一些修改。

而不是
。Text
尝试使用此
.getAttribute(“声明”)
。它应该解决这个问题。