Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi XML Problem (https://www.delphipraxis.net/145589-xml-problem.html)

nanix 4. Jan 2010 23:19


XML Problem
 
Hey,


I spoted this sample code while browsing google its for FPC but it dosent work in delphi :oops:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  xdoc: TXMLDocument;                                 // variable to document
  RootNode, parentNode, nofilho: TDOMNode;                   // variable to nodes
begin
  //create a document
  xdoc := TXMLDocument.create;
 
  //create a root node
  RootNode := xdoc.CreateElement('register');
  Xdoc.Appendchild(RootNode);                          // save root node
 
  //create a parent node
  RootNode:= xdoc.DocumentElement;
  parentNode := xdoc.CreateElement('usuario');
  TDOMElement(parentNode).SetAttribute('id', '001');      // create atributes to parent node
  RootNode.Appendchild(parentNode);                         // save parent node
 
  //create a child node
  parentNode := xdoc.CreateElement('nome');               // create a child node
  //TDOMElement(parentNode).SetAttribute('sexo', 'M');    // create atributes
  nofilho := xdoc.CreateTextNode('Fernando');        // insert a value to node
  parentNode.Appendchild(nofilho);                        // save node
  RootNode.ChildNodes.Item[0].AppendChild(parentNode);      // insert child node in respective parent node
 
  //create a child node
  parentNode := xdoc.CreateElement('idade');              // create a child node
  //TDOMElement(parentNode).SetAttribute('ano', '1976');  // create atributes
  nofilho := xdoc.CreateTextNode('32');              // insert a value to node
  parentNode.Appendchild(nofilho);                        // save node
  .ChildNodes.Item[0].AppendChild(parentNode);      // insert a childnode in respective parent node
 
  writeXMLFile(xDoc,'teste.xml');                    // write to XML
  Xdoc.free;                                         // free memory
end;
 
initialization
  {$I unit1.lrs}
 
end.

Luckie 4. Jan 2010 23:28

Re: XML Problem
 
Zitat:

Zitat von nanix
I spoted this sample code while browsing google its for FPC but it dosent work in delphi :oops:

Nice. And what do you expect from us now? Guessing the error messages?

nanix 4. Jan 2010 23:29

Re: XML Problem
 
No i am asking why its not compatible with delphi.

mirage228 4. Jan 2010 23:49

Re: XML Problem
 
I see two lines which definitely will not work:

1.)
Delphi-Quellcode:
  {$I unit1.lrs}
Delphi form resources are not included in that way. You have to write:
Delphi-Quellcode:
  {$R *.dfm}
Of course this requires a Delphi DFM file which contains the GUI elements of the Form corresponding to the Unit (Unit.dfm) to be present. As far as I know Delphi is not able to load those Lazarus resource files.

2.)
Delphi-Quellcode:
.ChildNodes.Item[0].AppendChild(parentNode);      // insert a childnode in respective parent node
This is a syntax error. There must be a suitable object instance before the dot "." at the beginning of the line.

Luckie 4. Jan 2010 23:53

Re: XML Problem
 
Zitat:

Zitat von nanix
No i am asking why its not compatible with delphi.

If it is not compatible there must be error messages from the compiler. So why don't you inform us about these error messages? Don't you think this would make it a bit eaysier for us?

nanix 5. Jan 2010 12:39

Re: XML Problem
 
I used a XMLDocument and empty form all with 2010 delphi.

Next errors i got.

Zitat:

[DCC Error] Unit2.pas(29): E2003 Undeclared identifier: 'TDOMNode'
[DCC Error] Unit2.pas(32): E2250 There is no overloaded version of 'Create' that can be called with these arguments
[DCC Error] Unit2.pas(35): E2035 Not enough actual parameters
[DCC Error] Unit2.pas(36): E2003 Undeclared identifier: 'Appendchild'
[DCC Error] Unit2.pas(40): E2035 Not enough actual parameters
[DCC Error] Unit2.pas(41): E2003 Undeclared identifier: 'TDOMElement'
[DCC Error] Unit2.pas(41): E2066 Missing operator or semicolon
[DCC Error] Unit2.pas(42): E2066 Missing operator or semicolon
[DCC Error] Unit2.pas(45): E2035 Not enough actual parameters
[DCC Error] Unit2.pas(47): E2003 Undeclared identifier: 'CreateTextNode'
[DCC Error] Unit2.pas(48): E2066 Missing operator or semicolon
[DCC Error] Unit2.pas(49): E2066 Missing operator or semicolon
[DCC Error] Unit2.pas(49): E2066 Missing operator or semicolon
[DCC Error] Unit2.pas(52): E2035 Not enough actual parameters
[DCC Error] Unit2.pas(54): E2003 Undeclared identifier: 'CreateTextNode'
[DCC Error] Unit2.pas(55): E2066 Missing operator or semicolon
[DCC Error] Unit2.pas(56): E2029 Statement expected but '.' found
[DCC Error] Unit2.pas(56): E2066 Missing operator or semicolon
[DCC Error] Unit2.pas(58): E2003 Undeclared identifier: 'writeXMLFile'

himitsu 5. Jan 2010 13:17

Re: XML Problem
 
Interfaces (IXMLDocument) > unit XMLIntf and XMLDOM
Classes (TXMLDocument) > unit XMLDoc

TDOMNode are daclared in unit XDOM (Extended Document Object Model) or OXMLDOM (Open XML)

nanix 5. Jan 2010 13:25

Re: XML Problem
 
Or let me ask a more simple question how to generate an XML with delphi and not FPC.
I just cant fix this code.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz