|
как извлечь атрибуты из xml?
|
|||
---|---|---|---|
#18+
всем привет, у меня есть простой flow где я отправляю сообщение <a>1</a> в очередь T1.in. Потом в Compute пытаюсь вытащить значение элемента "a" и записать его в таблицу: ------------------------------- CREATE COMPUTE MODULE f_test_1_Compute CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN CALL CopyMessageHeaders(); CALL CopyEntireMessage(); INSERT INTO Database.test1 (ID, val) VALUES (InputBody.a, 2) RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER; SET J = CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END; END MODULE; ------------------------------- Получаю в таблице : null | 2 - в первой колонке всгда null. Перепробовал все возможные комбинации вариантов извлечения атрибута 'a' , например InputRoot.XMLNSC.a . Никак не получается, всегда NULL вместо "1". Хотя значение свойства типа InputRoot.Properties.Encoding извлекаются нормально. Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2016, 18:23 |
|
|
start [/forum/topic.php?fid=43&fpage=12&tid=1600534]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 114ms |
0 / 0 |