Как прочитать XML файл?

Больше
17 дек 2013 16:13 #1 от HAF
COM_KUNENA_MESSAGE_CREATED_NEW
Доброе время суток!
Подскажите как вытащить содержимое файла, например
<?xml version="1.0" encoding="windows-1251"?><TransferData><UIN>905166444</UIN></TransferData>
мой код - переменные объявлены
DEF TEMP-TABLE tt-data XML-NODE-NAME "TransferData"
FIELD mUIN AS CHAR XML-NODE-NAME "UIN" .
lReturn = TEMP-TABLE tt-data:READ-XML("FILE",iParam,"EMPTY",?,?,?,?).
vErr = "".
IF lReturn = FALSE THEN vErr = "INVALID_XML".
message vErr view-as alert-box.
IF vErr = "" THEN DO:
FIND FIRST tt-data NO-LOCK NO-ERROR.
if avail(tt-data) then message tt-data.mUIN view-as alert-box.
END.
Запись во временную таблицу не происходит. Если же хмл файл такой
<?xml version="1.0" encoding="windows-1251"?><DefaultInput xmlns:xsi="www.w3.org/2001/XMLSchema-instance">905166444
Если добавлен тег <DefaultInput>, то все хорошо. Но у меня этого тега нет.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
18 дек 2013 15:25 - 18 дек 2013 15:25 #2 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
DEF VAR vUIN AS CHAR NO-UNDO.

DEF VAR hDoc AS HANDLE NO-UNDO.
DEF VAR hRoot AS HANDLE NO-UNDO.
DEF VAR hField AS HANDLE NO-UNDO.
DEF VAR hText AS HANDLE NO-UNDO.

CREATE X-DOCUMENT hDoc.
CREATE X-NODEREF hRoot.
CREATE X-NODEREF hField.
CREATE X-NODEREF hText.

hDoc:LOAD("FILE","1.xml", FALSE).
hDoc:GET-DOCUMENT-ELEMENT(hRoot).
hRoot:GET-CHILD(hField, 2).
hField:GET-CHILD(hText,1).

vUIN = hText:NODE-VALUE.

MESSAGE vUIN VIEW-AS ALERT-BOX.
Last edit: 18 дек 2013 15:25 by alex_sar.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
18 дек 2013 16:09 #3 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
<?xml version="1.0" encoding="windows-1251"?>
<TransferData>
<UIN>12365689</UIN>
</TransferData>

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
18 дек 2013 16:12 #4 от HAF
COM_KUNENA_MESSAGE_REPLIED_NEW
В развернутом виде получилось.
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
18 дек 2013 17:30 #5 от HAF
COM_KUNENA_MESSAGE_REPLIED_NEW
<?xml version="1.0" encoding="WINDOWS-1251"?><QuickPayABS><Report><ReqSendTransferList><TransferData><UIN>905166444</UIN></TransferData></ReqSendTransferList></Report></QuickPayABS>
А если несколько вложений? Не понимаю, если в строчку при данном xml NUM-CHILDREN = 1, а если не в 1 строку то 3. :(
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
11 фев 2014 09:57 #6 от SergeiBIS
COM_KUNENA_MESSAGE_REPLIED_NEW
Нужно прочитать XML переменной структуры?
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
10 апр 2014 15:15 #7 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
делаю процедуру которая читает данные из xml-файла, которая содержит данные для налолжения на счетах клиентов арестов. при этом не могу понять как реализовать так, чтобы автоматом на счетах встали блокировки из файла. нахожу клиента из файла а куда дальше копнуть пока не вникаю...
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
11 апр 2014 15:33 #8 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
Не совсем понял Ваш вопрос. Какие данные у Вас есть, что Вы хотите сделать?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 апр 2014 07:27 #9 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
к примеру файл содержит фио,адрес места жительства, сумма и еще какие-то данные. надо найти этого человека и если он есть в базе, то поставить блокировку на его счете на сумму, указанную в файле.
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
14 апр 2014 16:14 #10 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
а что если при такой блокировке просто добавлять запись в таблицу BlockObject с присвоением соотвествующих реквизитов?
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.117 секунд