Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   DOM XML Reihenfolge SetAttribute (https://www.delphipraxis.net/185614-dom-xml-reihenfolge-setattribute.html)

khh 24. Jun 2015 13:33

DOM XML Reihenfolge SetAttribute
 
Hallo zusammen,
also mit
Delphi-Quellcode:

nChild:= nDocSettings.AppendChild(doc.CreateElement('Font'));
           TDOMElement(nChild).SetAttribute('ss:FontName', 'Calibri');
           TDOMElement(nChild).SetAttribute('x:Family', 'Swiss');
          TDOMElement(nChild).SetAttribute('ss:Size', '11');
          TDOMElement(nChild).SetAttribute('ss:Color', '#000000');
erstelle ich ein Kind-Note und setze die Attribute.

ich denke, es ist zwar egal in welcher Reihenfolge diese aufgelistet sind, aber warum stimmt diese nicht mit der Reihenfolge der Erstellung überein?

Ergebnis obiger sets ist:

<Font ss:Size="11" ss:Color="#000000" x:Family="Swiss" ss:FontName="Calibri"/>

BUG 24. Jun 2015 13:49

AW: DOM XML Reihenfolge SetAttribute
 
Ganz einfach: nach XML-Standard haben die Attribute im Gegensatz zu Kindknoten keine Reihenfolge. Deshalb muss sich die Implementierung keine Mühe machen diese Reihenfolge zu erhalten.
Vermutlich entsteht die Reihenfolge durch das Aufzählen eines Hash-basierten Diktionaries.

khh 24. Jun 2015 16:45

AW: DOM XML Reihenfolge SetAttribute
 
ich danke dir, vielmals.

wie krieg ich jetzt noch die Kindeskinder hin?


<Styles>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom" />
<Borders />
<Font ss:FontName="Calibri" x:Family="Swiss" ss:Size="11" ss:Color="#000000" />
<Interior />
<NumberFormat />
<Protection />
</Style>
</Styles>


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 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