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