使用 XPath 和 XML 语法

本文关键字:语法 XML XPath 使用 | 更新日期: 2023-09-27 18:31:30

我正在创建一个XML解析器,它将创建许多"丑陋"的代码,我真的很想掌握XPath语法的窍门。

这是我的 XML 示例

<?xml version="1.0" encoding="iso-8859-1"?>
    <!-- This is the application template. Replace 'TemplateController' to
         move the application to another application space. -->
    <Application Name="TTS_AHC_OSC_21463" Type="Application">
    <fs>10</fs>
    <Subcomponents>
        <Subcomponent Name="CDPEngine" 
                      Model="CDPEngine"
                      src="Components'CDP'CDPEngine.xml">
        </Subcomponent>
        <Subcomponent Name="Messenger"
                      Model="Messenger"
                      src="Components'CDP'Messenger.xml">
        </Subcomponent>
        <Subcomponent Name="WebServer"
                      Model="WebServer"
                      src="Components'CDP'WebServer.xml">
        </Subcomponent>
        <Subcomponent Name="MessengerIOServer"
                      Model="MessengerIOServer"
                      src="Components'CDP'MessengerIOServer.xml">
        </Subcomponent>

在这种情况下,我想要一个查询来获取所有属性名称和类型,并将它们排序到已经定义的结构中。 那么如何做到这一点。任何人都可以帮我解决这个问题,我在进入 XPath 语法时遇到了麻烦,非常感谢。

代码示例

 nav = docNav.CreateNavigator();
 XPathNodeIterator NodeIter;
 NodeIter = nav.Select("/Subcomponents?????"); 

使用 XPath 和 XML 语法

如果你想得到所有的子组件,你可以尝试用

XPATH = "//Subcomponents/Subcomponent"

为了获得第一个子组合,

   XPATH = "//Subcomponents/Subcomponent[1]"

Xpath 语法可以在

http://www.w3schools.com/xpath/xpath_examples.asp

您可以使用以下在线工具动态验证 XPATH,

http://www.xpathtester.com/