|
Помогите распарсить XML
|
|||
---|---|---|---|
#18+
Всем добрый вечер. Нужна помощь в распасивании XML. БД ASA12. Есть XML такого вида: Код: xml 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.
... и т.п. Как при парсинге во временную таблицу, сделать так, чтобы значения элементов <pole> были в полях таблицы? Вот так: названия полей неважно, важен вывод в таком виде __________________________________________________ 1410|2013-10-12|10|9 |28|12|31|35920|188422|2331600| 1409|2013-10-11|29|23|24|4 |27|41836|207104|2256360| .......|................|...|...|....|...|....|........|..........|............| .......|................|...|...|....|...|....|........|..........|............| .......|................|...|...|....|...|....|........|..........|............| __________________________________________________ Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2013, 20:42 |
|
Помогите распарсить XML
|
|||
---|---|---|---|
#18+
Наверно сформулировал вопрос Как при распарсивании XML получить доступ значению определенного элемента. Например хочу вытащить все 5-е и 7-е значения всех элементов во всех узлах. при попытке сделать так Код: sql 1. 2. 3. 4. 5. 6. 7.
ругается: Could not execute statement. Feature 'position tests' not implimented SQLCODE=-134, ODBC 3 State="HY000" в справке для SQLCODE=-134 сообщается: You attempted to carry out an operation or use a feature that is not implemented in this version of SQL Anywhere Вы попытались провести операцию или использовать функцию, которая не реализована в этой версии SQL Anywhere. И как в этой версии осуществить задуманное...? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 15:46 |
|
Помогите распарсить XML
|
|||
---|---|---|---|
#18+
Просил вчера модераторов удалить тему, чтобы оформить по правилам, не удаляют... Тогда буду пытаться править по "живому". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 21:43 |
|
Помогите распарсить XML
|
|||
---|---|---|---|
#18+
ASA12. Есть затык... Нужно распарсить XML, с доступом к определенному узлу(1,3 или как поставят задачу). Есть такого вида XML - узлы одинаковые, элементы тоже, значения элементов разные. Код: xml 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.
Как при распарсивании получить доступ к i-му значению элемента. Например надо извлечь 3 и 5 значение всех элементов...? Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 21:51 |
|
Помогите распарсить XML
|
|||
---|---|---|---|
#18+
sasha27Просил вчера модераторов удалить тему, чтобы оформить по правилам, не удаляют... Тогда буду пытаться править по "живому".Не вижу смысла удалять нормальную тему. Но если сильно-сильно хочешь - могу и прибить. Надо? А по поводу основного вопроса. Не уверен что то что ты хочешь возможно. Тут идет расхождение между позиционированным подходом (XML) и не позиционированным (SQL). В принципе, ты можешь сделать в духе: Код: sql 1. 2. 3. 4.
Получишь нумерованные строки. И потом уже фильтруешь по полученному id. Должно сработать, но если openxml в результате каких-нибудь своих внутренних заморочек попытается переставить пару строк местами (а с точки зрения SQL это легально), либо (что более вероятно) кто-нибудь попытается добавить туда сортировку - все рухнет. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2013, 22:59 |
|
Помогите распарсить XML
|
|||
---|---|---|---|
#18+
White Owl, спасибо, попробовал. Сделал вот так: SELECT * into #Temp FROM OPENXML(@xml, '/table/tr/pole') WITH ( Field1 char(200) '@mp:id', Field2 integer '../@mp:id', Field3 char(200) 'text()'); Что получил: номера строк, номера групп, значения. В курсоре могу запросить все записи по группе, вывод в строку всех значений в группе командой LIST. Далее из строки могу вытащить любое значение(1,3,4 и т.д.). Вот примерно так решил эту проблему. Возможно есть более красивый и менее замороченный способ, но пока его не нашел... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2013, 20:18 |
|
|
start [/forum/topic.php?fid=55&msg=38426800&tid=2009922]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 250ms |
total: | 496ms |
0 / 0 |