【发布时间】:2012-07-13 00:20:00
【问题描述】:
我有一个字符串对象“hello world” 我需要从这个字符串创建一个 xml 文件,其中 hello world 作为文本内容。 我尝试了以下代码sn-p
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();
}
这段代码运行良好。但是当我用“Hello world”替换字符串时它不起作用。 任何人都可以帮助我吗? 谢谢
【问题讨论】:
-
怎么不工作了?你有错误吗?输出错误?
-
[致命错误]:1:1:序言中不允许内容。 org.xml.sax.SAXParseException:prolog 中不允许有内容。在 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 com.metlife.ins.portal.idi.enrollment.gsi.vo.IDIEnrollmentBO.main(IDIEnrollmentBO.java:107) 上的 .createXMLResponse(IDIEnrollmentBO.java:74) 当我更改为 Hello World 或其他时出现此错误普通字符串
-
尝试使用 String 类的 getBytes() 以字节为单位传递字符串。希望这能奏效..
-
你要用“hello world”替换哪个字符串?
-
你的 XML 根节点是什么?您可以将
Hello World作为某个节点的文本内容。