如何检查XML文件并读取一些非硬编码的标记(进入程序)?

如何检查XML文件并读取一些非硬编码的标记(进入程序)?,xml,vb.net,Xml,Vb.net,如何读取XML中的非特定标记?像这样: <apps> <SomeAppName> <version>1</version> <location>C:\Program Files\VBNet App\apps\SomeAppName</location> </SomeAppName> <AnotherAppName> <version>5</vers

如何读取XML中的非特定标记?像这样:

<apps>
  <SomeAppName>
    <version>1</version>
    <location>C:\Program Files\VBNet App\apps\SomeAppName</location>
  </SomeAppName>
  <AnotherAppName>
    <version>5</version>
    <location>C:\Program Files\VBNet App\apps\AnotherAppName</location>
  </AnotherAppName>
</apps>         <!-- added by edit -->

1.
C:\Program Files\VBNet App\apps\SomeAppName
5.
C:\Program Files\VBNet App\apps\AnotherAppName

其思想是让应用程序自己查找这些标记,就像没有告诉它准确地查找
SomeAppName
AnotherAppName
,而是自动查找它们一样。

要查找
SomeAppName
AnotherAppName
和其他标记,可以使用以下XPath:

apps/*[version and location]

此XPath选择同时具有
版本
子节点和
位置
子节点的所有节点。然后,您可以在生成的节点集上使用
name()
XPath函数来获取它们各自的名称。

我将给您一个小提示。如果您将
标准化为
并添加一个Name元素,那么做您想要的事情就会容易得多。而且XML中的所有内容都是字符串。我不理解您的版本和位置问题。使用xml linq使用以下命令:doc.subjections().Select(Functon(x)x.Name.LocalName)谢谢您的回答!我会尽快回来的!也许明天吧!天哪,我很抱歉这么晚才回复你!不管怎样,我正在努力解决
name()
部分。。您的确切意思是什么?您可以使用获取节点(请参见链接中的示例)。然后,如果您需要他们的名字,您可以检查他们的
Name
属性,并使用访问他们的子级。