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()));
}
}