XMLDOCUMENT — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
м (Пример использования)
м (Смотрите также)
 
(не показано 25 промежуточных версий этого же участника)
Строка 1: Строка 1:
XMLDocument - это функция, описанная в файле QrAddFn2.pas
+
[[XMLDOCUMENT]] - это функция ( [[QrAddFn2.pas]] )
 
+
Чтение XML файла
XMLDocument( xmlfile )
+
[[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; '
 
  fld := ' _1,C,200; '
  aa := IdHttpGet( local_host + ':' + utm_port + '/opt/out' )
+
  aa := [[IdHttpGet]]( local_host + ':' + utm_port + '/opt/out' )  
  // сохраняем входящие сообщения в файле out.xml
+
  [[WriteTxtFile]]( { aa }, 'out.xml', TempPath, true ) // сохраняем входящие сообщения в файле out.xml
WriteTxtFile( { aa }, 'out.xml', TempPath, true )
+
  
  doc := XmlDocument( Nice_Path( TempPath ) + 'out.xml' )
+
  doc := [[XMLDocument]]( [[Nice_Path]]( TempPath ) + 'out.xml',, <span style="color:#FF0000">''''utf8''''</span> )
  node := xmlNode( doc )
+
  node := [[xmlNode]]( doc )
  
  _ := CreateTmpFile( fld, '_', ~IsFreeDel := true )
+
  _ := [[CreateTmpFile]]( fld, '_', ~IsFreeDel := true )
  
  for i := 0 to XmlNodeProp( node, "ChildNodeCount" ) - 1
+
  for i := 0 to [[XmlNodeProp]]( node, "ChildNodeCount" ) - 1
   aa := XmlNodeProp( XmlNodeProp( node, "ChildNodes", i ), "NODEVALUE" )
+
   aa := [[XmlNodeProp]]( [[XmlNodeProp]]( node, "ChildNodes", i ), "NODEVALUE" )
   aa := Right( aa, Len( aa ) - at( 'http', aa ) - 6 )
+
   aa := [[Right]]( aa, [[Len]]( aa ) - [[at]]( 'http', aa ) - 6 )
   if !Empty( aa )
+
   if ![[Empty]]( aa )
     ( _ )->( DbAppend() )
+
     ( _ )->( [[DbAppend]]() )
 
     ( _ )->_1 := aa
 
     ( _ )->_1 := aa
 
   endif
 
   endif
Строка 46: Строка 23:
  
 
= Смотрите также =
 
= Смотрите также =
 +
[[XMLNode]]
  
[[XMLNode]]
+
[[UTM]]

Текущая версия на 15:53, 20 августа 2021

XMLDOCUMENT - это функция ( QrAddFn2.pas )

Чтение XML файла

XMLDOCUMENT( xmlfile )

Пример

fld := ' _1,C,200; '
aa := IdHttpGet( local_host + ':' + utm_port + '/opt/out' ) 
WriteTxtFile( { aa }, 'out.xml', TempPath, true ) // сохраняем входящие сообщения в файле out.xml
doc := XMLDocument( Nice_Path( TempPath ) + 'out.xml',, 'utf8' )
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

Смотрите также

XMLNode

UTM