在AutoHotKey中解析XML以获取值?

在AutoHotKey中解析XML以获取值?,xml,xpath,autohotkey,Xml,Xpath,Autohotkey,我试图从XML文件中获取要检索的值。但是,使用xpath脚本可以找到。我似乎无法让它工作。这就是我遇到的问题: xml := xpath_load("C:\Users\Will\Desktop\Hotkey\IsogenID.xml") MsgBox % xml 文件在那里,路径正确。但是,xpath_load函数将值“0”回吐到xml变量中。它应该加载整个XML文件,以便以后可以对其进行解析 这是XML文件: <itemLookup> <version>1.0

我试图从XML文件中获取要检索的值。但是,使用xpath脚本可以找到。我似乎无法让它工作。这就是我遇到的问题:

xml := xpath_load("C:\Users\Will\Desktop\Hotkey\IsogenID.xml")
MsgBox % xml
文件在那里,路径正确。但是,xpath_load函数将值“0”回吐到xml变量中。它应该加载整个XML文件,以便以后可以对其进行解析

这是XML文件:

<itemLookup>
    <version>1.0</version>
    <typeID>37</typeID>
    <typeName>Isogen</typeName>
</itemLookup>

1
37
等基因
我试图解析字段中的37


你知道什么地方出了问题,或者有其他的解决方法吗?

自动热键论坛上有人给了我这个问题的答案,所以我想我也会把它贴在这里

xmldata = ; replace with fileread as you already have done
(join`r`n
<?xml version="1.0"?>
<itemLookup>
    <version>1.0</version>
    <typeID>37</typeID>
    <typeName>Isogen</typeName>
</itemLookup>
)
doc := ComObjCreate("MSXML2.DOMDocument.6.0")
doc.async := false
doc.loadXML(xmldata)

DocNode := doc.selectSingleNode("//itemLookup/typeID")
DocText := DocNode.text
MsgBox %DocText%
xmldata=;替换为fileread,就像您已经做的那样
(加入'r'n
1
37
等基因
)
doc:=ComObjCreate(“MSXML2.DOMDocument.6.0”)
doc.async:=false
doc.loadXML(xmldata)
DocNode:=doc.selectSingleNode(//itemLookup/typeID)
DocText:=DocNode.text
MsgBox%DocText%

自动热键论坛上有人给了我这个问题的答案,所以我想我也会在这里发布

xmldata = ; replace with fileread as you already have done
(join`r`n
<?xml version="1.0"?>
<itemLookup>
    <version>1.0</version>
    <typeID>37</typeID>
    <typeName>Isogen</typeName>
</itemLookup>
)
doc := ComObjCreate("MSXML2.DOMDocument.6.0")
doc.async := false
doc.loadXML(xmldata)

DocNode := doc.selectSingleNode("//itemLookup/typeID")
DocText := DocNode.text
MsgBox %DocText%
xmldata=;替换为fileread,就像您已经做的那样
(加入'r'n
1
37
等基因
)
doc:=ComObjCreate(“MSXML2.DOMDocument.6.0”)
doc.async:=false
doc.loadXML(xmldata)
DocNode:=doc.selectSingleNode(//itemLookup/typeID)
DocText:=DocNode.text
MsgBox%DocText%