You need to sign in to do that
Don't have an account?
SF Beginner 2019
xml parsing Invalid Type.
HI
I am trying to parse this
<advertisers type="array">
<advertiser>
<id type="integer">7</id>
<name>ABC Telecom</name>
</advertiser>
<advertiser>
<id type="integer">106</id>
<name>ABC_Ozone</name>
</advertiser><advertiser>
<id type="integer">13</id>
<name>Acme Corp</name>
</advertiser>
</advertisers>
with this code
I got an invalid type when running this in execute anonymous
I am trying to parse this
<advertisers type="array">
<advertiser>
<id type="integer">7</id>
<name>ABC Telecom</name>
</advertiser>
<advertiser>
<id type="integer">106</id>
<name>ABC_Ozone</name>
</advertiser><advertiser>
<id type="integer">13</id>
<name>Acme Corp</name>
</advertiser>
</advertisers>
with this code
public with sharing class xmltosobject{ public string s=''; public void readxml(ID TestObjectID){ XMLParsing__c TObj = [SELECT xml__c FROM XMLParsing__c where id= : TestObjectID]; s= TObj.Event_Message_XML__c ; List<ParsedXML__c> newaccounts = new List<ParsedXML__c> (); Dom.Document docx = new Dom.Document(); docx.load(s); dom.XmlNode xroot = docx.getrootelement() ; dom.XmlNode [] xrec = xroot.getchildelements() ; //Get all Record Elements for(Dom.XMLNode child : xrec) //Loop Through Records { ParsedXML__c a = new ParsedXML__c(); for (dom.XmlNode awr : child.getchildren() ) { if (awr.getname() == 'id') { system.debug('Id' + awr.gettext()); a.accountnumber__c = awr.gettext(); } if (awr.getname() == 'name') { system.debug('name' + awr.gettext()); a.name__c = awr.gettext(); } } newaccounts.add(a); } system.debug(newaccounts);//you could insert here or upsert based on ID with an external Id field } }
I got an invalid type when running this in execute anonymous
String str = '<advertisers type="array"><advertiser><id type="integer">7</id><name>ABC Telecom</name></advertiser><advertiser><id type="integer">106</id><name>ABC_Ozone</name></advertiser><advertiser><id type="integer">13</id><name>Acme Corp</name></advertiser></advertisers>'; xmltosobject.readxml objPartnerCreds = new xmltosobject.readxml(); system.debug(objPartnerCreds);
Please first create the instance of class like this Also readxml method is expecting an ID as a parameter which I believe is for the SObject XML_Parsing__c. So please make sure you pass this Id, I am not sure in whihc context like Trigger, on button click etc. you are calling this so can't much help further until you clarify this.