XML, v3.0'.DOMDocument30 export ..NAV4 - previos sibling

aakpaakp Member Posts: 5
How do i move right - set a node to be last child of previus sibling ? using MSDomdocument3.0 NAV4 :?:
Can anybody help :!: tks in advance

output like this

MT_RygaardXML>
<FileHeader>
<CustomerNumber>30650</CustomerNumber>
<FileName>GoodsReceiptConfirmation.xml</FileName>
<Send>07-03-09 10:28</Send>
</FileHeader>
<GoodsReceiptConfirmation>
<OrderID>0000794311</OrderID>
<Plant/>
<VendorAccountID>19830</VendorAccountID>
<RygaardsRef>8041</RygaardsRef>
<TransactionDate>18-02-09</TransactionDate>
</GoodsReceiptConfirmation>
<Details>
<LineID>1</LineID>
<ProductID>3101370</ProductID>
<EANCode>37300400245006</EANCode>
<ConfirmedQuantity>32</ConfirmedQuantity>
<BatchCode>0</BatchCode>
<BestBefore/>
</Details>
<Details>
<LineID>2</LineID>
<ProductID>3101370</ProductID>
<EANCode>37300400245006</EANCode>


The element <Details> must be moved to the right after <TransactionDate> before ending </GodsReceiptConfirmation>

C/AL codeunit like this creates the node,

objRoot := XMLDom.documentElement;
DocNameSpace := objRoot.namespaceURI;
objNewNode := XMLDom.createNode(1,'GoodsReceiptConfirmation',DocNameSpace);
objRoot.appendChild(objNewNode);
objCurrNode := objNewNode;

OrdNr := UdLevHo.Reference;
AddNode('OrderID',OrdNr);
AddNode('Plant','');
AddNode('VendorAccountID',UdLevHo.ModtagerNr);
AddNode('RygaardsRef',UdLevHo.Nummer);

AddNode('TransactionDate',FORMAT(UdLevHo.Indleveringsdato));

END;

ExportUdlLin(VAR UdlevLin : Record LagerOrdreLinie)
WITH UdlevLin DO BEGIN
objRoot := XMLDom.documentElement;
DocNameSpace := objRoot.namespaceURI;
objNewNode := XMLDom.createNode(1,'Details',DocNameSpace);
objRoot.appendChild(objNewNode);
objCurrNode := objNewNode;

linnr := linnr + 1 ;

AddNode('LineID',FORMAT(linnr));
AddNode('ProductID',UdlevLin.Kundevarenr);

IF VareInt.GET(UdlevLin.Kundenr,UdlevLin.Kundevarenr) THEN
EANCode := VareInt.Stregkode2;

AddNode('EANCode',EANCode);
AddNode('ConfirmedQuantity',FORMAT(UdlevLin.ModtagetAntal));
AddNode('BatchCode',FORMAT(UdlevLin.UdløbsDato));
AddNode('BestBefore',FORMAT(UdlevLin."Indtast Udløbsdato"));

END;

AddNode(FldName : Text[80];Content : Text[180])

objNewNode := XMLDom.createNode(1, FldName, DocNameSpace);
objNewNode.text := Content;
objCurrNode.appendChild(objNewNode);

Answers

  • aakpaakp Member Posts: 5
    Solution was


    Nodelist := XMLDom.getElementsByTagName('GoodsReceiptConfirmation');
    objRoot := Nodelist.nextNode;
    objNewNode := XMLDom.createNode(1,'Details',DocNameSpace);
    objRoot.appendChild(objNewNode);
    objCurrNode := objNewNode;
Sign In or Register to comment.