我有一個字符串對象「你好世界」 我需要創建一個xml文件從這個字符串與你好世界作爲文本內容。 我嘗試下面的代碼片段如何在java中將字符串轉換爲xml?
String xmlString = "<?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:Envelope>";
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try
{
builder = factory.newDocumentBuilder();
// Use String reader
Document document = builder.parse(new InputSource(
new StringReader(xmlString)));
TransformerFactory tranFactory = TransformerFactory.newInstance();
Transformer aTransformer = tranFactory.newTransformer();
Source src = new DOMSource(document);
Result dest = new StreamResult(new File("D:\\myXML.xml"));
aTransformer.transform(src, dest);
} catch (Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
此代碼工作正常。但是當我用「你好世界」替換字符串不工作。 任何人都可以幫助我嗎? 謝謝
它怎麼不工作?你有錯誤嗎?錯誤的輸出? – Keppil 2012-07-13 06:58:04
[致命錯誤]:1:1:在序言中不允許使用內容。 org.xml.sax.SAXParseException:prolog中不允許使用內容。 at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)at com.metlife.ins.portal.idi.enrollment.gsi.vo.IDIEnrollmentBO .createXMLResponse(IDIEnrollmentBO.java:74)at com.metlife.ins.portal.idi.enrollment.gsi.vo.IDIEnrollmentBO.main(IDIEnrollmentBO.java:107)當我更改爲Hello World或其他一些時,出現此錯誤正常字符串 – user1002448 2012-07-13 06:59:04
嘗試通過使用String類的getBytes()傳遞字節的字符串..希望這將工作.. – aProgrammer 2012-07-13 07:01:59