Document document = DocumentHelper.createDocument(); document.addDocType("plist", "-//Apple//DTD PLIST 1.0//EN", "http://www.apple.com/DTDs/PropertyList-1.0.dtd"); Element plistElement = document.addElement("plist"); plistElement.addAttribute("version", "1.0"); Element dictElement = plistElement.addElement("dict"); Element keyElement = dictElement.addElement("key"); keyElement.setText("PayloadContent"); File file = new File(ServletActionContext.getServletContext().getRealPath(plistFileString)); Writer wr = new OutputStreamWriter(new java.io.FileOutputStream(file),"UTF-8"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter xml = new XMLWriter(wr,format); xml.write(document); xml.close(); wr.close();
生成后的xml文件格式:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadContent</key> </dict> </plist>
遇到的问题:
xml文件必须采用OutputStreamWriter 方式输出,如果采用FileWrite 输出,文件内容是utf-8,但是文件格式是ANSI,访问时就会出现乱码情况。