Axapta’da XML Okuma ve Yazma

XML okuma ve yazma için alttaki örnekler kullanılabilir.

önce yazma kodu çalıştırılırsa okumak için gerekli xml ilgili klasörde oluşacaktır.

static void XMLWrite(Args _args)
{
    FileIoPermission permission;
    XMLDocument  doc  = XMLDocument::newBlank();
    XMLNode      rootNode;
    XMLNode      customerNode, subNode;
    XMLElement   xmlElement;
    XMLText      xmlText;
    CustTable    custTable;
    ;

    permission= new FileIoPermission(‘d:\\xmlTest’,'w’);
    permission.assert();

    doc  = XMLDocument::newBlank();

    rootNode    = doc.documentElement();
    xmlElement  = doc.createElement(‘Müşteriler’);
    rootNode    = doc.appendChild(xmlElement);

    while select custTable
    {
        xmlElement  = doc.createElement(‘Müşteri’);
        customerNode = rootNode.appendChild(xmlElement);

        xmlElement  = doc.createElement(‘HesapNo’);
        subNode = customerNode.appendChild(xmlElement);
        xmlText     = doc.createTextNode(custTable.AccountNum);
        subNode.appendChild(xmlText);

        xmlElement  = doc.createElement(‘Adi’);
        subNode    = customerNode.appendChild(xmlElement);
        xmlText     = doc.createTextNode(custTable.Name);
        subNode.appendChild(xmlText);

        xmlElement = doc.createElement(‘Risk’);
        subNode   = customerNode.appendChild(xmlElement);
        xmlText    = doc.createTextNode(strFmt(‘%1′, custTable.RiskAmount));
        subNode.appendChild(xmlText);

    }

    doc.save(‘d:\\xmlTest.xml’);

info(‘bitti’);
}

static void readXML(Args _args)
{
    FileIOPermission    permission;
    FileName            fileName = ‘d:\\xmlTest.xml’;
    XMLDocument         doc;
    XMLNode             rootNode, customerNode, nameNode;
    XMLNode             accountNumNode, riskNode;
    XMLNodeList         patientList;
    XMLParseError       xmlError;
    int i;
    ;

    permission = new FileIOPermission(fileName, ‘r’);
    permission.assert();

    doc = new XmlDocument();
    doc.load(fileName);

    xmlError = doc.parseError();

    if(xmlError && xmlError.toString() != ”)
        throw error(strFmt(‘%1 %2 Hatası var’,xmlError.errorCode(), xmlError.toString()));

    rootNode = doc.documentElement();

    patientList = doc.selectNodes(‘//Müşteri’);

    for(i = 0; i < patientList.length(); i++)
    {
        customerNode    = patientList.item(i);
        accountNumNode  = customerNode.selectSingleNode(‘HesapNo’);
        nameNode        = customerNode.selectSingleNode(‘Adi’);
        riskNode        = customerNode.selectSingleNode(‘Risk’);

        info(strFmt(‘%1    %2  %3′,
                nameNode.text(),
                accountNumNode.text(),
                riskNode.text()));
    }

}

 
  1. No comments yet.

  1. No trackbacks yet.