我有一个字符串对象“你好世界” 我需要创建一个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