2016-01-29 2 views
0

Я хотел бы получить все идентификаторы XML узлов с помощью XQueryКак я могу получить все идентификаторы узлов xml через xquery?

Я пытаюсь эту линию, но не работает (возвращает пустые символы)

xquery doc('MYdb/MY.xml')/ROOT/*/string(@ID) 

XML-это так

ROOT 
<NODE> 
<ID>CP1</ID> 
<..> 
</NODE> 
<NODE> 
<ID>CP2</ID> 
<...> 
</NODE> 
... 
</ROOT> 

Я хочу, чтобы получить строку, как этот CP1, CP2, CP3 ....

+0

Пожалуйста, убедитесь, всегда обязательно предоставлять рабочие примеры. '<..>' не допускается в хорошо сформированном XML и сломает ваш пример для любого, кто пытается воспроизвести проблему. –

ответ

1

Это было бы

fn:doc("MYdb/MY.xml")//ID/fn:string() 

потому что ваши идентификаторы - это не атрибуты, а простые элементы.

Приставка // получит все элементы ID из любого уровня вашего дерева документа

НТН

Peter