You need to sign in to do that
Don't have an account?

apex code to visualforce page
Hi All,
I want to import xml file into salesforce using apex code from visualforce page.
Please find below details of XML file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<lead-data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<record>
<FirstName>Veera</FirstName>
<LastName>Vinnu</LastName>
<Phone>8008997654</Phone>
<Email>veerav@gmail.com</Email>
</record>
<record>
<FirstName>Beera</FirstName>
<LastName>Binnu</LastName>
<Phone>9898989898</Phone>
<Email>beeru@gmail.com</Email>
</record>
<record>
<FirstName>Ceera</FirstName>
<LastName>Cinnu</LastName>
<Phone>8989898989</Phone>
<Email>ceera@gmail.com</Email>
</record>
<record>
<FirstName>Deera</FirstName>
<LastName>Dinnu</LastName>
<Phone>7878787878</Phone>
<Email>deera@gmail.com</Email>
</record>
</lead-data>
And my apex code is:
public class Parser_New{
public class leaddata {
public String FirstName {get; set;}
public String LastName {get; set;}
public String Phone {get; set;}
public String Email {get; set;}
}
public List<leaddata> parse(string toParse) {
List<leaddata> reports = new List<leaddata>();
DOM.Document doc = new DOM.Document();
doc.load(toParse);
parseReports(doc.getRootElement(), reports);
system.debug('DDDDDDDDDDDDDDDDDDDDDDDD'+ Reports);
return reports;
}
private void parseReports(DOM.XMLNode node, List<leaddata> reports) {
for (Dom.XMLNode child : node.getChildElements()) {
if (child.getName() == 'record') {
leaddata r = new leaddata();
parseReport(child, r);
reports.add(r);
}
}
}
private void parseReport(DOM.XMLNode node, leaddata r) {
for (Dom.XMLNode child : node.getChildElements()) {
if (child.getName() == 'FirstName') {
r.FirstName= child.getText().trim();
} else if (child.getName() == 'LastName') {
r.Lastname= child.getText().trim();
} else if (child.getName() == 'Phone') {
r.Phone= child.getText().trim();
} else if (child.getName() == 'Email') {
r.Email= child.getText().trim();
}
}
}
}
I have no clue how to use this apex code in visualforce page to import xml file . Please help.
I want to import xml file into salesforce using apex code from visualforce page.
Please find below details of XML file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<lead-data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<record>
<FirstName>Veera</FirstName>
<LastName>Vinnu</LastName>
<Phone>8008997654</Phone>
<Email>veerav@gmail.com</Email>
</record>
<record>
<FirstName>Beera</FirstName>
<LastName>Binnu</LastName>
<Phone>9898989898</Phone>
<Email>beeru@gmail.com</Email>
</record>
<record>
<FirstName>Ceera</FirstName>
<LastName>Cinnu</LastName>
<Phone>8989898989</Phone>
<Email>ceera@gmail.com</Email>
</record>
<record>
<FirstName>Deera</FirstName>
<LastName>Dinnu</LastName>
<Phone>7878787878</Phone>
<Email>deera@gmail.com</Email>
</record>
</lead-data>
And my apex code is:
public class Parser_New{
public class leaddata {
public String FirstName {get; set;}
public String LastName {get; set;}
public String Phone {get; set;}
public String Email {get; set;}
}
public List<leaddata> parse(string toParse) {
List<leaddata> reports = new List<leaddata>();
DOM.Document doc = new DOM.Document();
doc.load(toParse);
parseReports(doc.getRootElement(), reports);
system.debug('DDDDDDDDDDDDDDDDDDDDDDDD'+ Reports);
return reports;
}
private void parseReports(DOM.XMLNode node, List<leaddata> reports) {
for (Dom.XMLNode child : node.getChildElements()) {
if (child.getName() == 'record') {
leaddata r = new leaddata();
parseReport(child, r);
reports.add(r);
}
}
}
private void parseReport(DOM.XMLNode node, leaddata r) {
for (Dom.XMLNode child : node.getChildElements()) {
if (child.getName() == 'FirstName') {
r.FirstName= child.getText().trim();
} else if (child.getName() == 'LastName') {
r.Lastname= child.getText().trim();
} else if (child.getName() == 'Phone') {
r.Phone= child.getText().trim();
} else if (child.getName() == 'Email') {
r.Email= child.getText().trim();
}
}
}
}
I have no clue how to use this apex code in visualforce page to import xml file . Please help.
Use this code