Разобрать строку XML, хранящуюся в Таблице Oracle - PullRequest
4 голосов
/ 17 января 2011

У меня есть такая строка XML, которая хранится в моей БД:

<?xml version="1.0" encoding="utf-8"?>
<AddressMaintenance>
<Label Name="lblAddress11">Address Line 1</Label><TextBox Name="txtAddress11">Zuellig Korea</TextBox>
</AddressMaintenance>

знаете ли вы, если есть способ извлечь значение Zuelling Корея с использованием XMLQuery или SQL? Я не могу создать временную таблицу, потому что это проверенная среда, поэтому я могу только читать это значение. Я знаю, что это возможно с помощью reg exp, но, если возможно, я пытаюсь использовать XML.

спасибо,
Andrea

1 Ответ

5 голосов
/ 17 января 2011

Если это хранится в XMLTYPE в таблице, вы можете использовать функции Oracle XML, чтобы извлечь его с помощью XPath:

SELECT
  extractvalue(xmlcol, '/*/TextBox[@Name=''txtAddress11'']') txtaddress
FROM yourtable

Адаптируйте XPath в соответствии со своими потребностями.

См. Документация ExtractValue или исследование других функций Oracle XML.


Вероятно, следует отметить, что 11g и более поздние версии extractvalue устарели, и вам следует использовать XMLQuery

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