如何从文件中读取多个xml元素?
大家好,我有这个xml文档,我想提取第一个或第二个应用程序文件路径和文件名等如何从文件中读取多个xml元素?,xml,vb.net,xmldocument,Xml,Vb.net,Xmldocument,大家好,我有这个xml文档,我想提取第一个或第二个应用程序文件路径和文件名等 DocumentElement.SelectSingleNode("/InstallerList/Installer/File_Path").InnerText 但我只得到了第一个应用程序信息,从来没有第二个,我试着玩过 DocumentElement.SelectNodes("//Installer") 在它的末尾加上一个整数,这样我就可以循环了,但它似乎不喜欢这样。有什么想法吗 <?xml version
DocumentElement.SelectSingleNode("/InstallerList/Installer/File_Path").InnerText
但我只得到了第一个应用程序信息,从来没有第二个,我试着玩过
DocumentElement.SelectNodes("//Installer")
在它的末尾加上一个整数,这样我就可以循环了,但它似乎不喜欢这样。有什么想法吗
<?xml version="1.0" encoding="utf-8"?>
<InstallerList>
<Installer Name="First Application">
<FilePath>C:\</FilePath>
<Third_Parameter>etc</Third_Parameter>
<Forth_Parameter>etc</Forth_Parameter>
</Installer>
<Installer Name="Second Application">
<FilePath>etc</FilePath>
<Third_Parameter>etc</Third_Parameter>
<Forth_Parameter>etc</Forth_Parameter>
</Installer>
</InstallerList>
C:\
等
等
等
等
等
如果只想选择一个文件路径
元素,给定一些已知的键值,例如安装程序的名称
属性,可以向XPath中添加一个条件以缩小结果范围,如下所示:
DocumentElement.SelectSingleNode("/InstallerList/Installer[@Name='First Application']/FilePath").InnerText
或者,您可以简单地选择所有FilePath
元素,然后循环遍历它们,如下所示:
For Each node As XmlNode In DocumentElement.SelectNodes("/InstallerList/Installer/FilePath")
Dim path As String = node.InnerText
' ...
Next
好的,谢谢你对初学者的帮助,当我尝试DocumentElement时。选择SingleNode(“/InstallerList/Installer[@Name=“+app+”]/FilePath”)。InnerText,其中app是一个字符串,包含名称属性的内容,我得到一个表达式必须计算为节点集错误。有什么想法吗?它对我有用。您是否忘记了
app
值周围的开始和结束单引号?