with studio soapobject example consumir android xml-parsing ksoap2

studio - soapobject android example



cómo obtener valores de la variable de cadena con datos xml en android usando ksoap2 (1)

Para analizar una cadena en formato XML, use el siguiente código:

String xml ="valid xml here"; InputStream is = new ByteArrayInputStream(xml.getBytes("UTF-8")); /* Get a SAXParser from the SAXPArserFactory. */ SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser(); /* Get the XMLReader of the SAXParser we created. */ XMLReader xr = sp.getXMLReader(); /* Create a new ContentHandler and apply it to the XML-Reader*/ ExampleHandler myExampleHandler = new ExampleHandler(); xr.setContentHandler(myExampleHandler); /* Parse the xml-data from our URL. */ xr.parse(new InputSource(is)); /* Parsing has finished. */

ExampleHandler.java:

class ExampleHandler extends DefaultHandler { StringBuffer buff = null; boolean buffering = false; public static EmployeeVO empVO=null; @Override public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException { if (localName.equals("Employee")) { empVO=new EmployeeVO(); empVO.setEMPLOYEEID(atts.getValue("ID")); empVO.setPROJECTGROUP(atts.getValue("PROJECTGROUP")); empVO.setPROJECTKEY(atts.getValue("PROJECTKEY")); empVO.setPROJECT(atts.getValue("PROJECT")); empVO.setDSCRIPTON(atts.getValue("DSCRIPTON")); empVO.setTOTALTASK(atts.getValue("TOTALTASK")); empVO.setTOTALOPENTASK(atts.getValue("TOTALOPENTASK")); empVO.setTOTALCLOSETASK(atts.getValue("TOTALCLOSETASK")); empVO.setHIGHPRIORITY(atts.getValue("HIGHPRIORITY")); } } @Override public void endElement(String namespaceURI, String localName, String qName) throws SAXException { } @Override public void characters(char ch[], int start, int length) { if(buffering) { buff.append(ch, start, length); } } }

y EmployeeVO.java

public class EmployeeVO { String EMPLOYEEID; String PROJECTGROUP; String PROJECTKEY; String PROJECT; String DSCRIPTON; String TOTALTASK; String TOTALOPENTASK; String TOTALCLOSETASK; String HIGHPRIORITY; public String getEMPLOYEEID() { return EMPLOYEEID; } public void setEMPLOYEEID(String eMPLOYEEID) { EMPLOYEEID = eMPLOYEEID; } public String getPROJECTGROUP() { return PROJECTGROUP; } public void setPROJECTGROUP(String pROJECTGROUP) { PROJECTGROUP = pROJECTGROUP; } public String getPROJECTKEY() { return PROJECTKEY; } public void setPROJECTKEY(String pROJECTKEY) { PROJECTKEY = pROJECTKEY; } public String getPROJECT() { return PROJECT; } public void setPROJECT(String pROJECT) { PROJECT = pROJECT; } public String getDSCRIPTON() { return DSCRIPTON; } public void setDSCRIPTON(String dSCRIPTON) { DSCRIPTON = dSCRIPTON; } public String getTOTALTASK() { return TOTALTASK; } public void setTOTALTASK(String tOTALTASK) { TOTALTASK = tOTALTASK; } public String getTOTALOPENTASK() { return TOTALOPENTASK; } public void setTOTALOPENTASK(String tOTALOPENTASK) { TOTALOPENTASK = tOTALOPENTASK; } public String getTOTALCLOSETASK() { return TOTALCLOSETASK; } public void setTOTALCLOSETASK(String tOTALCLOSETASK) { TOTALCLOSETASK = tOTALCLOSETASK; } public String getHIGHPRIORITY() { return HIGHPRIORITY; } public void setHIGHPRIORITY(String hIGHPRIORITY) { HIGHPRIORITY = hIGHPRIORITY; } }

<string> <Root> <Employee ID="1" PROJECTGROUP="Web" PROJECTKEY="1" PROJECT="ABC Project" DSCRIPTON="Logidtic Project" TOTALTASK="50" TOTALOPENTASK="50" TOTALCLOSETASK="0" HIGHPRIORITY="3"/> </Root> </string>

Aquí hay una variable de cadena con datos XML . ¿Entonces al analizar cómo se hará?