Доступ к xml с помощью xpath

Я получаю xpath из базы данных как символ. Я хочу получить этот элемент из XML с помощью esql. Поскольку xpath является character , я не могу получить элемент из XML. Есть ли способ преобразовать символ для ссылки на XML? Например, мой xml

<?xml version="1.0"?> 
<catalog> 
<book id="bk101"> 
<author>Gambardella, Matthew</author> 
<title>XML Developer's Guide</title> 
<price>44.95</price> 
<publish_date>2000-10-01</publish_date> 
</book> 
<diary> 
<abc>sample</abc> 
</diary> 
</catalog>

и я получаю путь catalog.book из базы данных как символ. Я хочу получить книгу элементов для дальнейшей обработки. Но так как catalog.book является символом, я не могу получить элемент. Пожалуйста, предложите способ сделать это в esql.


person user3932408    schedule 12.08.2014    source источник
comment
Вам действительно нужно определить, о каком ESQL вы спрашиваете. Там есть embedded-sql (для которого требуется указать СУБД, и вы должны хотя бы упомянуть основной язык), entity-sql для систем Microsoft, использующих Entity Framework и т. д., и extended-sql для систем IBM (WebSphere Message Broker, MQ, IBM Integration Bus). Я подозреваю, что вы имеете в виду один из двух последних, но я не могу определить, какой. (OTOH, с прагматической точки зрения, я рад, что этот вопрос остался только с тегом esql, чтобы тег выживает и указывает пользователям правильные альтернативы.)   -  person Jonathan Leffler    schedule 26.05.2017


Ответы (1)


Вы можете получить доступ к полю, сославшись на путь, хранящийся в переменной, если вы поместите имя переменной в скобки {}.

Как это:

DECLARE fieldPath CHARACTER;
SET fieldPath = ........ ;
SET Environment.Variables.Book = InputRoot.MRM.{fieldPath};
person Miroslav Pohoraly    schedule 05.09.2014