tags:

views:

107

answers:

2
 <?xml version="1.0" encoding="utf-8"?><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"&gt;&lt;soap:Body&gt;&lt;LoginResponse xmlns="http://tempuri.org/QuestIPhoneWebService/QuestIPhoneWebService"&gt;&lt;LoginResult&gt;&amp;lt;RETURN_VALUE&amp;gt;&amp;lt;ERROR RESULT= '-1' DESC = 'The password entered into the system is not valid. Please check your password and try again.'/&gt;&lt;/RETURN_VALUE&gt;</LoginResult></LoginResponse></soap:Body></soap:Envelope>

Hi I am getting the value from webservices. I want to convert above string to xml can anybody tell how to convert string to xml file in java

<?xml version="1.0" encoding="utf-8"?>
<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"&gt;
<soap:Body>
<LoginResponse xmlns="http://tempuri.org/QuestIPhoneWebService/QuestIPhoneWebService"&gt;
<LoginResult>
&lt;ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"&gt;&lt;LOGIN_DETAILS USER_ID="testpub2" COMPANY_ID="1" USER_NAME=" aaa" SYSTEM_USER_ID="6976" USER_EMAIL_ID="[email protected]" TOKEN_STRING="A93805F1F1C340F5A8155FDD9B77E595" DISCLAIMER_AGREED="1" USER_ENABLED="1" USER_COMPANY_ENABLED="1" USER_TYPE="2" LOGIN_EXPIRY_DAYS="999" TOKEN_CREATION_DATE="2010-10-01T16:04:26" MOBILE_ENABLED="1" USER_COMPANY_MOBILE_ENABLED="1"/&gt;&lt;COMPANY_DETAILS CLIENT_TYPE_ID="8"/&gt;&lt;USER_SETTINGS&gt;&lt;QUEST_GROUP ID="14293" NAME="World" ASSIGN_NUM="14"/&gt;&lt;INDEX_PROVIDER ID="14251" NAME="QUEST (Default)"/&gt;&lt;STOCK_IDENTIFIER ID="57" NAME="TICKER"/&gt;&lt;/USER_SETTINGS&gt;&lt;PERMISSIONS&gt;&lt;QUEST_FUNCTIONS&gt;&lt;FUNCTION NAME="charting" ID="501" ACCESS="1"/&gt;&lt;FUNCTION NAME="modeller" ID="512" ACCESS="1"/&gt;&lt;FUNCTION NAME="momentum" ID="513" ACCESS="1"/&gt;&lt;FUNCTION NAME="portfolio" ID="516" ACCESS="1"/&gt;&lt;FUNCTION NAME="search" ID="518" ACCESS="1"/&gt;&lt;FUNCTION NAME="sensitivity" ID="521" ACCESS="1"/&gt;&lt;FUNCTION NAME="statistics" ID="524" ACCESS="1"/&gt;&lt;FUNCTION NAME="strategy" ID="525" ACCESS="1"/&gt;&lt;FUNCTION NAME="summary" ID="526" ACCESS="1"/&gt;&lt;FUNCTION NAME="triangle" ID="528" ACCESS="1"/&gt;&lt;FUNCTION NAME="valuation" ID="529" ACCESS="1"/&gt;&lt;FUNCTION NAME="commentary" ID="530" ACCESS="1"/&gt;&lt;FUNCTION NAME="CITN" ID="534" ACCESS="1"/&gt;&lt;FUNCTION NAME="batch report" ID="553" ACCESS="1"/&gt;&lt;FUNCTION NAME="ModellerWS" ID="557" ACCESS="1"/&gt;&lt;FUNCTION NAME="Sector Analysis" ID="562" ACCESS="1"/&gt;&lt;/QUEST_FUNCTIONS&gt;&lt;ADMIN_FUNCTIONS&gt;&lt;FUNCTION NAME="administrator" ID="531" ACCESS="0"/&gt;&lt;FUNCTION NAME="author" ID="532" ACCESS="1"/&gt;&lt;FUNCTION NAME="publisher" ID="533" ACCESS="0"/&gt;&lt;FUNCTION NAME="editor" ID="539" ACCESS="0"/&gt;&lt;/ADMIN_FUNCTIONS&gt;&lt;/PERMISSIONS&gt;&lt;/ROOT&gt;
10-04 14:30:08.696: DEBUG/login result is(439): </LoginResult></LoginResponse></soap:Body></soap:Envelope>

the child node are coming like this USER_ID="testpub2" I have to convert xnode and get the value how to covert xml node? and take the value using saxparser. is can I take the value directly?

A: 
public void writeFile(String yourXML){
    try {
        BufferedWriter out = new BufferedWriter(new FileWriter("outfilename.xml"));
        out.write(yourXML);
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        out.close();
    }
}
amra
Shouldn't that "aString" be yourXML?
Hobo
Just to give you some feedback from what I've learned. You should not invoke the close method in the try block. If a exception is thrown you end up with an open file. put it inside your finally block as finally gets called even when an exception is thrown.
Octavian Damiean
my node format are not coming properly USER_ID="testpub2" i want to convert xml format and take the value
you are right ;o)
amra
Now, it will not compile anymore, because `out` is not defined in the scope of the finally block. If Java made finally blocks easier to use, more people would use them I guess...
Thilo
+2  A: 

The below code converts a String to an XML document. Once you have the document, you can navigate the nodes or you can write to a file etc.

import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;

public class Util {

    public static Document stringToDom(String xmlSource) 
            throws SAXException, ParserConfigurationException, IOException {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        return builder.parse(new InputSource(new StringReader(xmlSource)));
    }
}
Suresh Kumar
my child node are coming like this USER_ID="testpub2" I have to convert xml format and take the value how can i do?