<?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><RETURN_VALUE><ERROR RESULT= '-1' DESC = 'The password entered into the system is not valid. Please check your password and try again.'/></RETURN_VALUE></LoginResult></LoginResponse></soap:Body></soap:Envelope>
您好我从webservices获得了价值。我想将上面的字符串转换为xml,任何人都可以告诉如何将字符串转换为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>
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"><LOGIN_DETAILS USER_ID="testpub2" COMPANY_ID="1" USER_NAME=" aaa" SYSTEM_USER_ID="6976" USER_EMAIL_ID="hcltestpub2@HSDLGSDMNK0098.com" 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"/><COMPANY_DETAILS CLIENT_TYPE_ID="8"/><USER_SETTINGS><QUEST_GROUP ID="14293" NAME="World" ASSIGN_NUM="14"/><INDEX_PROVIDER ID="14251" NAME="QUEST (Default)"/><STOCK_IDENTIFIER ID="57" NAME="TICKER"/></USER_SETTINGS><PERMISSIONS><QUEST_FUNCTIONS><FUNCTION NAME="charting" ID="501" ACCESS="1"/><FUNCTION NAME="modeller" ID="512" ACCESS="1"/><FUNCTION NAME="momentum" ID="513" ACCESS="1"/><FUNCTION NAME="portfolio" ID="516" ACCESS="1"/><FUNCTION NAME="search" ID="518" ACCESS="1"/><FUNCTION NAME="sensitivity" ID="521" ACCESS="1"/><FUNCTION NAME="statistics" ID="524" ACCESS="1"/><FUNCTION NAME="strategy" ID="525" ACCESS="1"/><FUNCTION NAME="summary" ID="526" ACCESS="1"/><FUNCTION NAME="triangle" ID="528" ACCESS="1"/><FUNCTION NAME="valuation" ID="529" ACCESS="1"/><FUNCTION NAME="commentary" ID="530" ACCESS="1"/><FUNCTION NAME="CITN" ID="534" ACCESS="1"/><FUNCTION NAME="batch report" ID="553" ACCESS="1"/><FUNCTION NAME="ModellerWS" ID="557" ACCESS="1"/><FUNCTION NAME="Sector Analysis" ID="562" ACCESS="1"/></QUEST_FUNCTIONS><ADMIN_FUNCTIONS><FUNCTION NAME="administrator" ID="531" ACCESS="0"/><FUNCTION NAME="author" ID="532" ACCESS="1"/><FUNCTION NAME="publisher" ID="533" ACCESS="0"/><FUNCTION NAME="editor" ID="539" ACCESS="0"/></ADMIN_FUNCTIONS></PERMISSIONS></ROOT>
10-04 14:30:08.696: DEBUG/login result is(439): </LoginResult></LoginResponse></soap:Body></soap:Envelope>
子节点就像这样USER_ID =“testpub2”我必须转换xnode并获取值如何隐藏xml节点?并使用saxparser获取值。我可以直接拿这个值吗?
答案 0 :(得分:32)
以下代码将String转换为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)));
}
}
答案 1 :(得分: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();
}
}