powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Вопрос по [некорректной] работе OPENXML
2 сообщений из 2, страница 1 из 1
Вопрос по [некорректной] работе OPENXML
    #37952112
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, помогите,пожалуйста, разобраться!
У меня есть документ, который необходимо разобрать с помощью функции OPENXML (Sybase ASA):

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body>
<SendMessageResponse xmlns="http://ws1.streamsms.ru">
<SendMessageResult>
<string>qqq</string>
<string>strwwwing</string>
</SendMessageResult>
</SendMessageResponse>
</soap:Body>
</soap:Envelope>



Делаю такой запрос:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT  Result1 from 
OPENXML ( <XML source>
,'/soap:Envelope/soap:Body/ns1:SendMessageResponse/ns1:SendMessageResult'  
,2
, '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws1.streamsms.ru"/>')
WITH (Result1  char(50) 'ns1:string')



В результате получаю только ОДНО значение - "qqq", а ожидаю 2. Данный запрос правильно, на мой взгляд, отрабатывает в Stylus Studio 2011 XML, возвращая 2 значения.
А вот такой вариант катит:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT  Result1 from 
OPENXML ( <XML source>
,'/soap:Envelope/soap:Body/ns1:SendMessageResponse/ns1:SendMessageResult/ns1:string'  
,2
, '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws1.streamsms.ru"/>')
WITH (Result1  char(50) 'text()')




Просветите, чего я не понимаю и что делаю не так?
...
Рейтинг: 0 / 0
Вопрос по [некорректной] работе OPENXML
    #37952288
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
'/soap:Envelope/soap:Body/ns1:SendMessageResponse/ns1:SendMessageResult' — это выборка НАБОРА записей, в который возвращается ОДНА запись, соответствующая узлу SendMessageResult. А 'ns1:string' это выборка ПОЛЯ набора записей, возвращающая ПЕРВЫЙ узел из указанного набора.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Вопрос по [некорректной] работе OPENXML
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]