i am editing my qestion to make clear idea about the string name resfile_name and result I want to do xml parsing.where i am passing some parameter to url ane it gives me responce in xml format which i take it in string name result now i want to parse that string(xml data). i am using the follwing below code:-
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
vector = new Vector();
vector.addElement(new KeyPair("ParentID", "10000186"));
String result = Constants.callSoap("GetChildList", vector);
InputStream is = new ByteArrayInputStream(result.getBytes("UTF-8"));
Reader reader = new InputStreamReader(in); XmlParser parser = new XmlParser(reader); ParseEvent pe = null; Reader reader = new InputStreamReader(in); XmlParser parser = new XmlParser(reader); ParseEvent pe = null; parser.skip(); parser.read(Xml.START_TAG, null, "GetChildListResult"); parser.skip(); parser.read(Xml.START_TAG, null, "CustomChildList");
boolean trucking = true;
boolean first = true;
while (trucking) {
pe = parser.read();
if (pe.getType() == Xml.START_TAG) {
String name = pe.getName();
System.out.println("nAME=="+name);
if (name.equals("ChildID")) {
String title, link, description;
title = link = description = null;
while ((pe.getType() != Xml.END_TAG) ||
(pe.getName().equals(name) == false)) {
pe = parser.read();
if (pe.getType() == Xml.START_TAG &&
pe.getName().equals("ChildName")) {
pe = parser.read();
title = pe.getText();
}
else if (pe.getType() == Xml.START_TAG &&
pe.getName().equals("IMEINumber")) {
pe = parser.read();
link = pe.getText();
}
else if (pe.getType() == Xml.START_TAG &&
pe.getName().equals("ChildStatus")) {
pe = parser.read();
description = pe.getText();
}
}
}
else {
while ((pe.getType() != Xml.END_TAG) ||
(pe.getName().equals(name) == false))
pe = parser.read();
}
}
if (pe.getType() == Xml.END_TAG &&
pe.getName().equals("GetChildListResult"))
trucking = false;
}
the Constants.callSoap("GetChildList", vector); calls the callsoap method in constants which has code:--
public static String callSoap(String method, Vector vector) {
String result = null;
Constants.log("callSoap");
try {
SoapObject request = new SoapObject(NAMESPACE, method);
if (vector != null) {
for (int i = 0; i < vector.size(); i++) {
KeyPair keyPair = (KeyPair) vector.elementAt(i);
request.addProperty(keyPair.getKey(), keyPair.getValue());
}
}
Constants.log("callSoap2");
Element[] header = new Element[1];
header[0] = new Element().createElement(NAMESPACE, "AuthSoapHd");
Element username = new Element().createElement(NAMESPACE, "strUserName");
username.addChild(Node.TEXT, "");
header[0].addChild(Node.ELEMENT, username);
Element password = new Element().createElement(NAMESPACE, "strPassword");
password.addChild(Node.TEXT, "*");
header[0].addChild(Node.ELEMENT, password);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.headerOut = header;
envelope.setOutputSoapObject(request);
Constants.log("callSoap3");
HttpTransport transport = new HttpTransport("http://...**/ChildTrackerService/ChildTrackerService.asmx?wsdl");
//log("Log:transport");
transport.setXmlVersionTag("");
//log("Log:transport1");
try {
transport.call("http://tempuri.org/" + method, envelope);
//log("Log:transport:call");
result = (envelope.getResponse()).toString();
} catch (Exception e) {
System.out.println("exception of IP==" + e);
}
} catch (Exception e) {
log("Exception CallSoap:" + e.toString());
}
return result;
}
And the class keypair contain:-
public KeyPair(String key, String value) { this.key = key; this.value = value; }
public String getKey() {
return key;
}
public String getValue() {
return value;
}
The string reult has -- result==anyType{CustomChildList=anyType{ChildID=452; ChildName=Local; IMEINumber=958694; ChildStatus=Free; ExpiryDate=2011-05-26T16:22:21.29; RemainigDays=1; SOS=1; }; CustomChildList=anyType{ChildID=502; ChildName=testing; IMEINumber=123456; ChildStatus=anyType{}; ExpiryDate=null; RemainigDays=0; SOS=1; }; CustomChildList=anyType{ChildID=523; ChildName=abc; IMEINumber=124124; ChildStatus=anyType{}; ExpiryDate=null; RemainigDays=0; SOS=1; }; }
the actual response is like this:--
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetChildListResponse xmlns="http://tempuri.org/">
<GetChildListResult>
<CustomChildList>
<ChildID>452</ChildID>
<ChildName>Local</ChildName>
<IMEINumber>958694</IMEINumber>
<ChildStatus>Free</ChildStatus>
<ExpiryDate>2011-05-26T16:22:21.29</ExpiryDate>
<RemainigDays>1</RemainigDays>
<SOS>1</SOS>
</CustomChildList>
<CustomChildList>
<ChildID>502</ChildID>
<ChildName>testing</ChildName>
<IMEINumber>123456</IMEINumber>
<ChildStatus/>
<ExpiryDate xsi:nil="true"/>
<RemainigDays>0</RemainigDays>
<SOS>1</SOS>
</CustomChildList>
<CustomChildList>
<ChildID>523</ChildID>
<ChildName>abc</ChildName>
<IMEINumber>124124</IMEINumber>
<ChildStatus/>
<ExpiryDate xsi:nil="true"/>
<RemainigDays>0</RemainigDays>
<SOS>1</SOS>
</CustomChildList>
</GetChildListResult>
</GetChildListResponse>
</soap:Body>
</soap:Envelope>
Please help me if anyone parse the data.
resfile_name
? and what is dir structure of your project ? – Jigar Joshi May 25 '11 at 9:15