Hoi,

Ik heb een XML bestand waaraan ik een objecten wil toevoegen:

<?xml version="1.0"?>
<rtba:rtba0102 xmlns:rtba="http://www.rtba.nl/rtba0102/4.3.0">

<rtbabj bronid="899358401" rtba:id="166682567">
<rtba:naam>naam_0</rtba:naam>
<rtba:gewicht unittype="gr">728</rtba:gewicht>
<rtba:aantal>6</rtba:aantal>
</rtbabj>

</rtba:rtba0102>

Het toevoegen van object-elementen gaat prima met uizondering van het meegeven van het tweede attribuut van het object attribuut( rtba:id).
Dat moet volgens de externe validatieprocedure expliciet een namespace prefix hebben.

maar:

Delphi Code:
  1. xmldocument1.Options := [doNodeAutoCreate, doNodeAutoIndent,doAutoPrefix, doNamespaceDecl];
  2.  
  3. ndE:= XMLDocument1.DocumentElement;
  4. ndC:=ndE.AddChild('obj');
  5. ndC.setAttributeNS('id','','123456');  // geen namespace bij het attribute, logisch
  6. ndC.setAttributesNS('id','rtba','123456'); //"namespace error"


Ik geeft nu als attribute maar even overal 'rtbaid' mee en die verander ik in een laatste bewerking van de XML-tekst in één keer via srtingreplace in 'rtba:id' maar dat moet toch op een nettere manier te regelen zijn.

Hoe krijg ik op een "normale" manier een namespace voor het attribute 'id'?