如何检查XML文件并读取一些非硬编码的标记(进入程序)?
如何读取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
<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
属性,并使用访问他们的子级。