2010-10-08 138 views
11
<?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"><soap:Body><LoginResponse xmlns="http://tempuri.org/QuestIPhoneWebService/QuestIPhoneWebService"><LoginResult>&lt;RETURN_VALUE&gt;&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> 

您好我正在從webservices獲取值。我想上面的字符串到XML轉換有誰能夠告訴你怎麼字符串轉換爲XML文件中的Java如何將字符串轉換爲java中的xml文件

<?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"> 
<soap:Body> 
<LoginResponse xmlns="http://tempuri.org/QuestIPhoneWebService/QuestIPhoneWebService"> 
<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> 

子節點來了這樣USER_ID =「testpub2」我必須轉換xnode和獲得的價值如何隱藏的XML節點?並使用saxparser獲取價值。我可以直接取值嗎?

+0

你的意思是寫這個字符串到一個XML文件使用Java? – Nivas 2010-10-08 06:10:08

+0

嗯,「我怎麼寫一個字符串到Java文件」是不是很有趣。那麼你如何只寫SOAP體的內容( XML文件?) – 2010-10-08 06:15:34

回答

32

下面的代碼將字符串轉換爲XML文檔。一旦你有文件,你可以瀏覽節點,或者你可以寫入一個文件等。

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))); 
    } 
} 
+0

我的孩子節點來了這樣USER_ID =「testpub2」我必須轉換XML格式,並採取值我該怎麼辦? – mohan 2010-10-08 08:11:57

0
public void writeFile(String yourXML){ 
    BufferedWriter out = new BufferedWriter(new FileWriter("outfilename.xml")); 
    try { 
     out.write(yourXML); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     out.close(); 
    } 
} 
+0

不應該那個「aString」是你的XML? – Hobo 2010-10-08 06:26:32

+2

只是給你一些我學到的東西的反饋。不要在try塊中調用close方法,如果拋出異常,最終得到一個打開的文件,把它放到你的finally塊中,因爲即使拋出異常,也會調用finally塊 – 2010-10-08 08:18:18

+0

我的節點格式不正確USER_ID = 「testpub2」我想轉換xml格式並取值 – mohan 2010-10-08 08:20:22

相關問題