Я использую T-SQl и xPath для запроса XML-документа.и мне нужно извлечь значение элемента по имени
. Так я изначально реализовал код "с помощью индексации элемента для доступа к элементу", но поскольку элемент может иметь кратный элемент, он больше не работаетдолжным образом.n.value ( '' ./ ФУНКЦИИ [1] / Роль [1] / КРЕДИТОПОЛУЧАТЕЛЬ [1] / GOVERNMENT_MONITORING [1] / HMDA_RACES [1] [./ HMDA_RACE / РАСШИРЕНИЕ / ULDD: Другие / ULDD: HMDA_RACE_EXTENSION / ULDD: HMDA_RACE_DETAIL/ ULDD: HMDARaceType] [1] '', '' VARCHAR (100) '')
Это xml, который я запрашиваю
<HMDA_RACES>
<HMDA_RACE>
<EXTENSION>
<ULDD:OTHER xmlns:ULDD="http://www.datamodelextension.org/Schema/ULDD">
<ULDD:HMDA_RACE_EXTENSION>
<ULDD:HMDA_RACE_DESIGNATIONS>
<ULDD:HMDA_RACE_DESIGNATION>
<ULDD:HMDARaceDesignationType>Samoan</ULDD:HMDARaceDesignationType>
</ULDD:HMDA_RACE_DESIGNATION>
</ULDD:HMDA_RACE_DESIGNATIONS>
<ULDD:HMDA_RACE_DETAIL>
<ULDD:HMDARaceType>NativeHawaiianOrOtherPacificIslander</ULDD:HMDARaceType>
</ULDD:HMDA_RACE_DETAIL>
</ULDD:HMDA_RACE_EXTENSION>
</ULDD:OTHER>
</EXTENSION>
</HMDA_RACE>
<HMDA_RACE>
<EXTENSION>
<ULDD:OTHER xmlns:ULDD="http://www.datamodelextension.org/Schema/ULDD">
<ULDD:HMDA_RACE_EXTENSION>
<ULDD:HMDA_RACE_DETAIL>
<ULDD:HMDARaceType>White</ULDD:HMDARaceType>
</ULDD:HMDA_RACE_DETAIL>
</ULDD:HMDA_RACE_EXTENSION>
</ULDD:OTHER>
</EXTENSION>
</HMDA_RACE>
</HMDA_RACES>
это то, что я пытаюсь, но яя не получаю желаемый результат.
value(''./ROLES[1]/ROLE[1]/BORROWER[1]/GOVERNMENT_MONITORING[1]/HMDA_RACES[child = "ULDD:HMDARaceType"][1]'',''VARCHAR(100)'')
успешный запрос вернул бы значение "NativeHawaiianOrOtherPacificIslander White".Я получаю только первое значение "NativeHawaiianOrOtherPacificIslander"