0

我正在创建一个 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?????"); 
4

1 回答 1

-1

如果您想获取所有子组件,您可以尝试使用

XPATH = "//Subcomponents/Subcomponent"

要获得第一个子组件,

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

Xpath 语法可以在

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

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

http://www.xpathtester.com/

于 2013-09-17T06:44:56.693 回答