Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Nach Zuweisung von Namespace an Knoten haben den alle Knoten (https://www.delphipraxis.net/99085-nach-zuweisung-von-namespace-knoten-haben-den-alle-knoten.html)

masterchris_99 6. Sep 2007 15:09


Nach Zuweisung von Namespace an Knoten haben den alle Knoten
 
Morgen,

ich habe das problem das ich einem Knoten am Anfang einen namespace zuweise und alle anderen folgenden knoten auch diesen namespace bekommen. Wie kann ich das verhindern?

Delphi-Quellcode:
  var newSub: IXMLNode;
xmlDoc : IXMLDocument;
...
  xmlDoc := TXMLDocument.Create(nil);
  xmlDoc.Active := true;

  newSub := xmlDoc.AddChild('Knoten1');
  newSub.SetAttributeNS('xmlns', 'Knoten1', 'meinNameSpace');
  newSub := newSub.AddChild('optionen');
  newSub.AddChild('test').SetAttributeNS('kennung', 'optionen', '100');
  xmlDoc.SaveToFile('C:\Test.xml');
Das sieht dann ca. so aus:
Code:
- <Knoten1 xmlns="meinNameSpace">
  - <optionen xmlns="">
    <test kennung="100" />
  </optionen>
</Knoten1>
- <optionen xmlns="">
Das rote kann ich aber gar nicht gebrauchen.

wie bekomm ich das weg?

marabu 6. Sep 2007 18:25

Re: Nach Zuweisung von Namespace an Knoten haben den alle Kn
 
Hallo,

sieht so aus, als hättest du das gleiche Problem wie in diesem Thread: Attribute die ich gar nicht explizit selbst erstellt habe

Grüße vom marabu

masterchris_99 7. Sep 2007 09:12

Re: Nach Zuweisung von Namespace an Knoten haben den alle Kn
 
danke für den hinweis aber ich habe für mich einen leichteren Weg gefunden.
Und zwar ein ganz dummer!

Delphi scheint ihr Interface nicht richtig geschrieben zu haben und immer wenn ich
newSub. eingegeben habe hat er mir nur ein SetAttributeNS angeboten.
Heute hab ich einfach mal SetAttribute eingegeben und das gibt es wirklich und damit funktioniert das jetzt ohne Probleme.
Hier für alle die das gleiche Problem haben :D

Delphi-Quellcode:
var newSub: IXMLNode;
xmlDoc : IXMLDocument;
...
  xmlDoc := TXMLDocument.Create(nil);
  xmlDoc.Active := true;

  newSub := xmlDoc.AddChild('Knoten1');
  newSub.SetAttribute('xmlns', 'meinNameSpace');
  newSub := newSub.AddChild('optionen');
  newSub.AddChild('test').SetAttribute('kennung', '100');
  xmlDoc.SaveToFile('C:\Test.xml');


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