Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Парсинг XML (данные в одну строку)
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите пожалуйста, как пропарсить XML таким образом, чтобы получить данные в одной строке? Есть одна сложность, некоторые параметры называются одинаково: DECLARE @idoc int DECLARE @doc varchar(1000) SET @doc = ' <root> <Row ID= "1" OrderNumber="10"> <Cell ColumnName="agrPerson" Value="1" /> <Cell ColumnName="termForAgrStage" Value="success" /> <Cell ColumnName="denyAdd" Value="true" /> </Row> </root> ' -- EXEC sp_xml_preparedocument @idoc OUTPUT, @doc SELECT * FROM OPENXML (@idoc, '/root/Row', 2) WITH ( ID char(2) '@ID', OrderNumber char(2) '@OrderNumber', agrPerson char(20) 'Cell/@Value', termForAgrStage char(20) 'Cell/@Value', denyAdd char(20) 'Cell/@Value' ) -- EXEC sp_xml_removedocument @idoc Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 14:18 |
|
||
|
Парсинг XML (данные в одну строку)
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 14:31 |
|
||
|
Парсинг XML (данные в одну строку)
|
|||
|---|---|---|---|
|
#18+
invm, Спасибо большое за помощь!!! Но как обычно бывает, внезапно возникла новая проблемка. Не много дополнил исходный XML и теперь выполнение запроса завершается ошибкой и кириллицу местами не понимает, хотя я изменил тип поля "condition": The XML parse error 0xc00ce559 occurred on line number 15, near the XML text " <Cell ColumnName="condition" Value="<conds> <cond name="?????" value="1000000" criteria="lte" /> <cond name="??????" value="13" criteria="e" /> <cond name="??????? ??????" value="3" criteria="e" /> <cond name="?????? ???????????" value="1" criteria="e" />". Msg 6602, Level 16, State 2, Procedure sp_xml_preparedocument, Line 1 The error description is 'Unexpected end of file.'. Msg 8179, Level 16, State 5, Line 28 Could not find prepared statement with handle 0. DECLARE @idoc int DECLARE @doc varchar(1000) SET @doc = ' <Rows IDCounter="15"> <Row ID="1" OrderNumber="1"> <Cell ColumnName="agrPerson" Value="9431" /> <Cell ColumnName="termForAgrStage" Value="" /> <Cell ColumnName="condition" Value="" /> <Cell ColumnName="denyDelete" Value="true" /> <Cell ColumnName="denyMove" Value="false" /> <Cell ColumnName="denyAdd" Value="" /> <Cell ColumnName="controlTerm" Value="true" /> </Row> <Row ID="4" OrderNumber="2"> <Cell ColumnName="agrPerson" Value="9429" /> <Cell ColumnName="termForAgrStage" Value="" /> <Cell ColumnName="condition" Value="<conds> <cond name="Сумма" value="1000000" criteria="lte" /> <cond name="Валюта" value="13" criteria="e" /> <cond name="Условие оплаты" value="3" criteria="e" /> <cond name="Статус контрагента" value="1" criteria="e" /> </conds>" /> <Cell ColumnName="denyDelete" Value="true" /> <Cell ColumnName="denyMove" Value="false" /> <Cell ColumnName="denyAdd" Value="" /> <Cell ColumnName="controlTerm" Value="true" /> </Row> </Rows> ' -- EXEC sp_xml_preparedocument @idoc OUTPUT, @doc SELECT * FROM OPENXML (@idoc, '/Rows/Row', 2) WITH ( IDCounter char(2) '../@IDCounter', ID char(2) '@ID', OrderNumber char(2) '@OrderNumber', agrPerson char(20) 'Cell[@ColumnName = "agrPerson"]/@Value', termForAgrStage char(20) 'Cell[@ColumnName = "termForAgrStage"]/@Value', condition nvarchar(max) 'Cell[@ColumnName = "condition"]/@Value', denyDelete char(20) 'Cell[@ColumnName = "denyDelete"]/@Value', denyMove char(20) 'Cell[@ColumnName = "denyMove"]/@Value', denyAdd char(20) 'Cell[@ColumnName = "denyAdd"]/@Value', controlTerm char(20) 'Cell[@ColumnName = "controlTerm"]/@Value' ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 15:12 |
|
||
|
Парсинг XML (данные в одну строку)
|
|||
|---|---|---|---|
|
#18+
Максим_78, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 15:32 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=118&tid=1688438]: |
0ms |
get settings: |
18ms |
get forum list: |
28ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 412ms |

| 0 / 0 |
