XPath для получения имени узла в пределах выбора в схеме - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть 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>

В конце концов моя цель - получить пару ключ-значение с типом идентификатора и значением из документа.Разбор вручную работает нормально, но было бы проще, если бы был способ XPath сделать это.Я предполагаю, что это xpath двухэтапного извлечения выбранного узла, а затем извлечения значения с этим именем.Предположим, что узел выбора может измениться.

Как я могу получить имя элемента, такого как "Type2ID", используя XPath?(Также обратите внимание, что xsd является внешним, и я не могу его изменить)

1 Ответ

1 голос
/ 19 апреля 2019

Если содержащий элемент является элементом контекста, вы можете использовать name(*[last()]), чтобы получить имя его последнего дочернего элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...