PLSQL читать значение из XML (опять)? - PullRequest
0 голосов
/ 22 марта 2011

Я недавно отправил вопрос о том, как читать значения из XML , и был идеальный ответ, он был настолько аккуратным и таким простым, но я не могу понять его и применить к некоторым другим XML !!!

Может ли кто-нибудь помочь мне с этим? Мне нужно прочитать «id» или «ChangeKey»

<soap:Envelope>
<soap:Header>
 <t:ServerVersionInfo MajorVersion="8" MinorVersion="2" MajorBuildNumber="217" MinorBuildNumber="0"/>
 </soap:Header>
<soap:Body>
<m:CreateItemResponse>
<m:ResponseMessages>
<m:CreateItemResponseMessage ResponseClass="Success">
 <m:ResponseCode>NoError</m:ResponseCode>
<m:Items>
<t:CalendarItem>
 <t:ItemId Id="erwrweff3424dfw23r2fwfwsfwsfg34fwdf2" ChangeKey="sdfwwerw4224rw"/>
 </t:CalendarItem>
 </m:Items>
 </m:CreateItemResponseMessage>
 </m:ResponseMessages>
 </m:CreateItemResponse>
 </soap:Body>
 </soap:Envelope>

Мне действительно нехорошо, потому что я не могу этого понять!

1 Ответ

1 голос
/ 22 марта 2011

Сделайте то же самое, что и в ответе , на который вы ссылались , но измените выражение XPath (второй аргумент на XMLTYPE) с

'//SOAProxyResult'

например

'//t:ItemId/@Id'

или

'//t:ItemId/@ChangeKey'

Третий аргумент должен объявить префикс пространства имен t:

'xmlns:t="foobarbaz"'

и, конечно, ваш входной XML должен будет также объявить этот префикс пространства имен.

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