XMLDOCUMENT — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→Смотрите также) |
Hisava (обсуждение | вклад) м (→Пример использования) |
||
Строка 27: | Строка 27: | ||
fld := ' _1,C,200; ' | fld := ' _1,C,200; ' | ||
− | aa := IdHttpGet( local_host + ':' + utm_port + '/opt/out' ) | + | aa := [[IdHttpGet]]( local_host + ':' + utm_port + '/opt/out' ) |
// сохраняем входящие сообщения в файле out.xml | // сохраняем входящие сообщения в файле out.xml | ||
WriteTxtFile( { aa }, 'out.xml', TempPath, true ) | WriteTxtFile( { aa }, 'out.xml', TempPath, true ) |
Версия 12:16, 8 сентября 2016
XMLDocument - это функция, описанная в файле QrAddFn2.pas
XMLDocument( xmlfile )
Чтение XML файла
Полный текст функции
type TQrEvXMLDocument=class(TQREvElementFunction) public function Calculate: TQREvResult; override; end;
function TQrEvXMLDocument.Calculate: TQREvResult; begin Result := NilValue; if (ArgList.Count >= 1) and (Argument(0).Kind = ResString) then begin Result.Kind := ResObject; Result.ObjResult:=TXMLDocument.Create(Application); TXMLDocument(Result.ObjResult).LoadFromFile(Argument(0).StrResult); end; end;
Пример использования
fld := ' _1,C,200; ' aa := IdHttpGet( local_host + ':' + utm_port + '/opt/out' ) // сохраняем входящие сообщения в файле out.xml WriteTxtFile( { aa }, 'out.xml', TempPath, true )
doc := XmlDocument( Nice_Path( TempPath ) + 'out.xml' ) node := xmlNode( doc )
_ := CreateTmpFile( fld, '_', ~IsFreeDel := true )
for i := 0 to XmlNodeProp( node, "ChildNodeCount" ) - 1 aa := XmlNodeProp( XmlNodeProp( node, "ChildNodes", i ), "NODEVALUE" ) aa := Right( aa, Len( aa ) - at( 'http', aa ) - 6 ) if !Empty( aa ) ( _ )->( DbAppend() ) ( _ )->_1 := aa endif next