XPath用于检索Schema中选择内的节点名称

问题描述 投票:-1回答:1

我有一个xml架构,其中包含一个包含选择节点的复杂元素:

    <xs:complexType name="MemberType">
    <xs:sequence>
        <xs:element name="FirstName" type="xs:string"/>
        <xs:element name="LastName" type="xs:string"/>
        <xs:element name="DOB" type="xs:string"/>
        <xs:choice>
            <xs:element name="StandardID" type="xs:string"/>
            <xs:element name="Type2ID" type="xs:string"/>
            <xs:element name="OtherID" type="xs:string"/>
        </xs:choice>
    </xs:sequence>
</xs:complexType>

我的目标最终是从文档中获取id类型和值的键值对。手动解析工作正常,但如果有XPath方法可以做到这一点会更简单。我假设它的两步xpath检索选择的节点名称,然后检索具有该名称的值。假设选择节点可以改变。

如何使用XPath检索元素名称,如“Type2ID”? (另请注意,xsd是外部的,我无法更改它)

xml xpath xsd
1个回答
1
投票

如果包含元素是上下文项,则可以使用name(*[last()])获取其最后一个子元素的名称。

© www.soinside.com 2019 - 2024. All rights reserved.