Einzelnen Beitrag anzeigen

Thanatos81
(Gast)

n/a Beiträge
 
#1

XML erstellen, XMLDocument erstellt autom. Attribut

  Alt 15. Okt 2008, 09:07
Moin zusammen!

Ich bin gerade dabei, eine XML-Datei mittels TXMLDocument zu erstellen. Ein kleines Problem taucht aber jetzt schon am Anfang auf.
Mein Code ist folgender:
Delphi-Quellcode:
var
  listNode, orderNode, headerNode, childNode: IXMLNode;
begin
  XMLDocument1.Encoding := 'ISO-8859-1';
  listNode := XMLDocument1.AddChild('ORDER_LIST');

  orderNode := listNode.AddChild('ORDER');
  orderNode.Attributes['xmlns'] := 'http://www.opentrans.org/XMLSchema/1.0';
  orderNode.Attributes['xmlns:xsi'] := 'http://www.w3.org/2001/XMLSchema-instance';
  orderNode.Attributes['version'] := '1.0';
  orderNode.Attributes['type'] := 'standard';

  headerNode := orderNode.AddChild('ORDER_HEADER');
  headerNode.AddChild('CONTROL_INFO');

  childNode := headerNode.ChildNodes['CONTROL_INFO'].AddChild('GENERATOR_INFO');
  childNode.Text := 'XML Generator';
  childNode := headerNode.ChildNodes['CONTROL_INFO'].AddChild('GENERATION_DATE');
  childNode.Text := DateTimeToXMLTime(now);
end;
Ich erhalte folgende Ausgabe:
XML-Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ORDER_LIST>
  <ORDER xmlns="http://www.opentrans.org/XMLSchema/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" type="standard">
    <ORDER_HEADER xmlns="">
      <CONTROL_INFO>
        <GENERATOR_INFO>XML Generator</GENERATOR_INFO>
        <GENERATION_DATE>2008-10-15T09:57:18.894+02:00</GENERATION_DATE>
      </CONTROL_INFO>
    </ORDER_HEADER>
  </ORDER>
</ORDER_LIST>
Mein Problem ist, dass der Knoten "ORDER_HEADER" das leere Attribut "xmlns" erhält, welches dort aber nicht hingehört. Hat jemand einen Hinweis für mich, was ich da verkehrt mache?

Schönen Dank im Voraus!
P.S.: Ich weiß, dass der Code nicht ideal ist, es ging mir erstmal nur darum mich mit XML-Dateien zu beschäftigen.

//Edit
Den Threadtitel etwas aussagekräftiger gestaltet
  Mit Zitat antworten Zitat