List of usage examples for org.dom4j.io OutputFormat setEncoding
public void setEncoding(String encoding)
From source file:com.servoy.extension.install.LibActivationHandler.java
License:Open Source License
protected void writeBackXML(Document doc, File f, String encoding) throws IOException, TransformerFactoryConfigurationError, TransformerException, DocumentException { BufferedOutputStream os = null; try {/* w w w.j ava 2s . co m*/ os = new BufferedOutputStream(new FileOutputStream(f)); doc.normalize(); StringWriter sw = new StringWriter(1024); DOMSource source = new DOMSource(doc); Transformer newTransformer = TransformerFactory.newInstance().newTransformer(); newTransformer.setOutputProperty(OutputKeys.ENCODING, encoding); newTransformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$ newTransformer.transform(source, new StreamResult(sw)); // normally the transformer code above should have been enough for producing pretty formatted XML (needed so that repeated remove/restore of tags // doesn't produce endless newlines or other bad looking XML); but it seems that with some versions of the JDK that doesn't do it's job so we use dom4j final OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding(encoding); final XMLWriter writer = new XMLWriter(os, format); writer.write(DocumentHelper.parseText(sw.toString())); } finally { Utils.closeOutputStream(os); } }
From source file:com.taobao.android.builder.tasks.library.publish.UpdatePomTask.java
License:Apache License
private void updatePomXml(File xml) throws IOException, DocumentException { Map<String, DependencyExtraInfo> extraInfoMap = getExtraMap(); File backupFile = new File(xml.getParentFile(), "pom-backup.xml"); FileUtils.deleteQuietly(backupFile); FileUtils.moveFile(xml, backupFile); XMLWriter writer = null;// XML SAXReader reader = new SAXReader(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8");// XML?? FileOutputStream fos = new FileOutputStream(xml); try {//w w w. j a v a 2s .c o m Document document = reader.read(backupFile);// ?XML Element dependencies = document.getRootElement().element("dependencies"); if ((null != dependencies) && null != dependencies.elements()) { List<Element> list = dependencies.elements(); for (Element element : list) { List<Element> itemList = element.elements(); String group = ""; String name = ""; String type; String scope; Element scopeEl = null; Element typeEl = null; for (Element element1 : itemList) { if ("groupId".equals(element1.getQName().getName())) { group = element1.getStringValue(); } else if ("artifactId".equals(element1.getQName().getName())) { name = element1.getStringValue(); } else if ("scope".equals(element1.getQName().getName())) { scope = element1.getStringValue(); scopeEl = element1; } else if ("type".equals(element1.getQName().getName())) { type = element1.getStringValue(); typeEl = element1; } } DependencyExtraInfo dependencyExtraInfo = extraInfoMap.get(group + ":" + name); if (null == dependencyExtraInfo) { continue; } //update scope if (StringUtils.isNotEmpty(dependencyExtraInfo.scope)) { if (null != scopeEl) { scopeEl.setText(dependencyExtraInfo.scope); } else { Element newEl = element.addElement("scope"); newEl.setText(dependencyExtraInfo.scope); } } if (StringUtils.isNotEmpty(dependencyExtraInfo.type)) { if (null != typeEl) { typeEl.setText(dependencyExtraInfo.type); } else { Element newEl = element.addElement("type"); newEl.setText(dependencyExtraInfo.type); } } } } writer = new XMLWriter(fos, format); writer.write(document); } finally { if (null != writer) { writer.close(); } IOUtils.closeQuietly(fos); } }
From source file:com.taobao.android.builder.tools.manifest.ManifestFileUtils.java
License:Apache License
/** * manifest???/*from w w w .ja v a 2 s . c o m*/ * * @param mainManifest * @param libManifestMap * @param baseBunfleInfoFile * @param manifestOptions */ public static void postProcessManifests(File mainManifest, Map<String, File> libManifestMap, Multimap<String, File> libDependenciesMaps, File baseBunfleInfoFile, ManifestOptions manifestOptions, boolean addMultiDex, Set<String> remoteBundles) throws IOException, DocumentException { File backupFile = new File(mainManifest.getParentFile(), "AndroidManifest-backup.xml"); FileUtils.deleteQuietly(backupFile); FileUtils.moveFile(mainManifest, backupFile); XMLWriter writer = null;// XML SAXReader reader = new SAXReader(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8");// XML?? FileOutputStream fos = new FileOutputStream(mainManifest); if (mainManifest.exists()) { try { Document document = reader.read(backupFile);// ?XML if (null != baseBunfleInfoFile && baseBunfleInfoFile.exists()) { addApplicationMetaData(document, libManifestMap, baseBunfleInfoFile, manifestOptions, remoteBundles); } if (null != manifestOptions && manifestOptions.isAddBundleLocation()) { addBundleLocationToDestManifest(document, libManifestMap, libDependenciesMaps, manifestOptions); } if (null != manifestOptions && manifestOptions.isReplaceApplication()) { replaceManifestApplicationName(document); } if ((null != manifestOptions && manifestOptions.isAddMultiDexMetaData()) || addMultiDex) { addMultiDexMetaData(document); } if (null != manifestOptions && manifestOptions.isRemoveProvider()) { removeProvider(document); } removeCustomLaunches(document, manifestOptions); updatePermission(document, manifestOptions); removeComments(document); writer = new XMLWriter(fos, format); writer.write(document); } finally { if (null != writer) { writer.close(); } IOUtils.closeQuietly(fos); } } }
From source file:com.taobao.android.builder.tools.manifest.ManifestFileUtils.java
License:Apache License
/** * libManifest// w w w . j a v a 2s . com * * @param libManifestFile * @param mainManifestFileObject param updateSdkVersion */ public static void updatePreProcessManifestFile(File libManifestFile, ManifestFileObject mainManifestFileObject, boolean updateSdkVersion) throws IOException, DocumentException { if (!libManifestFile.exists()) { return; } File orgManifestFile = new File(libManifestFile.getParentFile(), "AndroidManifest-org.xml"); if (orgManifestFile.exists()) { return; } libManifestFile.renameTo(orgManifestFile); SAXReader reader = new SAXReader(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8");// XML?? Document document = reader.read(orgManifestFile);// ?XML Element root = document.getRootElement();// if (updateSdkVersion) { Element useSdkElement = root.element("uses-sdk"); if (null == useSdkElement) { useSdkElement = root.addElement("uses-sdk"); } if (null != useSdkElement) { updateElement(useSdkElement, mainManifestFileObject.getUseSdkProperties()); } } // ?tools:removetools:replace?ManifestMerge?? Element applicationElement = root.element("application"); Map<String, String> replaceAttrs = mainManifestFileObject.getReplaceApplicationAttribute(); List<String> removeAttrs = mainManifestFileObject.getRemoveApplicationAttribute(); if (null != applicationElement) { // libtools List<Attribute> toRomoved = new ArrayList<Attribute>(); for (Attribute attribute : applicationElement.attributes()) { if (attribute.getName().equals("replace") || attribute.getName().equals("remove")) { // applicationElement.remove(attribute); // applicationElement.attributes().remove(attribute); toRomoved.add(attribute); } } if (toRomoved.size() > 0) { for (Attribute attribute : toRomoved) { applicationElement.remove(attribute); } } updateApplicationElement(applicationElement, replaceAttrs, removeAttrs); } //?packageName TODO String packageName = root.attributeValue("package"); if (StringUtils.isEmpty(packageName)) { packageName = ManifestFileUtils.getPackage(orgManifestFile); } List<? extends Node> applicatNodes = root.selectNodes("//application"); for (Node node : applicatNodes) { Element element = (Element) node; Attribute attribute = element.attribute("name"); if (attribute != null) { if (!attribute.getValue().startsWith(packageName)) { attribute.setValue(packageName + attribute.getValue()); } } } fillFullClazzName(root, packageName, "activity"); fillFullClazzName(root, packageName, "provider"); fillFullClazzName(root, packageName, "receiver"); fillFullClazzName(root, packageName, "service"); saveFile(document, format, libManifestFile); }
From source file:com.taobao.android.builder.tools.manifest.ManifestFileUtils.java
License:Apache License
public static void minifyManifest(File mainManifest, File destManifest) throws IOException, DocumentException { XMLWriter writer = null;// XML SAXReader reader = new SAXReader(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8");// XML?? FileOutputStream fos = new FileOutputStream(destManifest); if (mainManifest.exists()) { try {/*from w w w .j a v a 2s . c o m*/ Document document = reader.read(mainManifest);// ?XML // removeComments(document); Element element = document.getRootElement(); element.clearContent(); writer = new XMLWriter(fos, format); writer.write(document); } finally { if (null != writer) { writer.close(); } IOUtils.closeQuietly(fos); } } }
From source file:com.taobao.android.builder.tools.manifest.ManifestFileUtils.java
License:Apache License
public static void removeProvider(File androidManifestFile) throws IOException, DocumentException { File backupFile = new File(androidManifestFile.getParentFile(), "AndroidManifest-backup.xml"); FileUtils.deleteQuietly(backupFile); FileUtils.moveFile(androidManifestFile, backupFile); XMLWriter writer = null;// XML SAXReader reader = new SAXReader(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8");// XML?? FileOutputStream fos = new FileOutputStream(androidManifestFile); if (androidManifestFile.exists()) { try {//from w w w . jav a 2 s . co m Document document = reader.read(backupFile);// ?XML Element root = document.getRootElement();// List<? extends Node> nodes = root.selectNodes("//provider"); for (Node node : nodes) { Element element = (Element) node; String name = element.attributeValue("name"); logger.info("[Remove Provider]" + name); element.getParent().remove(element); } writer = new XMLWriter(fos, format); writer.write(document); } finally { if (null != writer) { writer.close(); } IOUtils.closeQuietly(fos); } } }
From source file:com.taobao.android.builder.tools.xml.XmlHelper.java
License:Apache License
public static void saveDocument(Document document, File file) throws IOException { file.getParentFile().mkdirs();//from w w w . j a v a 2s . c o m OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); saveFile(document, format, file); }
From source file:com.taobao.datax.engine.tools.JobConfGenDriver.java
License:Open Source License
private static int genXmlFile(String filename, ClassNode reader, ClassNode writer) throws IOException { Document document = DocumentHelper.createDocument(); Element jobsElement = document.addElement("jobs"); Element jobElement = jobsElement.addElement("job"); String id = reader.getName() + "_to_" + writer.getName() + "_job"; jobElement.addAttribute("id", id); /**//w w w. j a va 2s.com * ?readerxml */ Element readerElement = jobElement.addElement("reader"); Element plugin_Element = readerElement.addElement("plugin"); plugin_Element.setText(reader.getName()); ClassNode readerNode = reader; Element tempElement = null; List<ClassMember> members = readerNode.getAllMembers(); for (ClassMember member : members) { StringBuilder command = new StringBuilder("\n"); Set<String> set = member.getAllKeys(); String value = ""; for (String key : set) { value = member.getAttr("default"); command.append(key).append(":").append(member.getAttr(key)).append("\n"); } readerElement.addComment(command.toString()); String keyName = member.getName(); keyName = keyName.substring(1, keyName.length() - 1); tempElement = readerElement.addElement("param"); tempElement.addAttribute("key", keyName); if (value == null || "".equals(value)) { value = "?"; } tempElement.addAttribute("value", value); } /** * ?writerxml */ Element writerElement = jobElement.addElement("writer"); plugin_Element = writerElement.addElement("plugin"); plugin_Element.setText(writer.getName()); members = writer.getAllMembers(); for (ClassMember member : members) { StringBuilder command = new StringBuilder("\n"); Set<String> set = member.getAllKeys(); String value = ""; for (String key : set) { value = member.getAttr("default"); command.append(key).append(":").append(member.getAttr(key)).append("\n"); } writerElement.addComment(command.toString()); String keyName = member.getName(); keyName = keyName.substring(1, keyName.length() - 1); tempElement = writerElement.addElement("param"); tempElement.addAttribute("key", keyName); if (value == null || "".equals(value)) { value = "?"; } tempElement.addAttribute("value", value); } try { OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter writerOfXML = new XMLWriter(new FileWriter(new File(filename)), format); writerOfXML.write(document); writerOfXML.close(); } catch (Exception ex) { throw new IOException(ex.getCause()); } return 0; }
From source file:com.tmount.util.FileUtils.java
License:Open Source License
/** * ?/* ww w. j a va 2s. c o m*/ * @param fileName ?? */ private static void initFile(String fileName){ Document document = DocumentHelper.createDocument(); Element root = document.addElement("auth"); Element billdata = root.addElement("balance"); billdata.setText("100"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GBK"); XMLWriter writer; try { writer = new XMLWriter(new FileWriter(new File( fileName)), format); writer.write(document); // writer.close(); } catch (IOException e) { log.info(" *** IOException *** ",e); } }
From source file:com.uletian.ultcrm.business.service.CustomerInfoSyncService.java
public void notifycationDataChange(Customer customer) { StringWriter writer = new StringWriter(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); Document doc = DocumentHelper.createDocument(); Namespace namespace = new Namespace("ns0", "http://crm/91jpfw.cn"); Element root = doc.addElement(new QName("customer", namespace)); root.addElement(new QName("action")).addText(action.BINDING_TEL.toString()); root.addElement(new QName("sourceSys")).addText("ULTCRM"); root.addElement(new QName("ultcrmid")).addText(customer.getId().toString()); root.addElement(new QName("crmid")).addText(customer.getSyncid() == null ? "" : customer.getSyncid()); String name = null;//from ww w .j a v a 2s. c o m if (customer.getName() == null || "".equals(customer.getName())) { name = customer.getNickname(); } else { name = customer.getName(); } root.addElement(new QName("name")).addText(name); root.addElement(new QName("sexy")).addText(customer.getSex() == null ? "" : customer.getSex()); root.addElement(new QName("telephone")).addText(customer.getPhone() == null ? "" : customer.getPhone()); root.addElement(new QName("country")).addText(customer.getCountry() == null ? "" : customer.getCountry()); root.addElement(new QName("province")) .addText(customer.getProvince() == null ? "" : customer.getProvince()); root.addElement(new QName("city")).addText(customer.getCity() == null ? "" : customer.getCity()); root.addElement(new QName("address")).addText(customer.getAddress() == null ? "" : customer.getAddress()); root.addElement(new QName("postcode")) .addText(customer.getPostcode() == null ? "" : customer.getPostcode()); Element techsElement = root.addElement(new QName("techs")); List<Tech> techs = customer.getTechs(); if (techs != null && techs.size() > 0) { for (int i = 0; i < techs.size(); i++) { Tech tech = techs.get(i); Element techElement = techsElement.addElement("tech"); techElement.addElement(new QName("crmtechid")) .addText(tech.getCrmTechId() == null ? "" : tech.getCrmTechId()); techElement.addElement(new QName("code")).addText(tech.getTechModel().getCode()); techElement.addElement(new QName("techlevelno")) .addText(tech.getTechlevelno() == null ? "" : tech.getTechlevelno()); techElement.addElement(new QName("techerno")) .addText(tech.getTecherno() == null ? "" : tech.getTecherno()); techElement.addElement(new QName("techname")) .addText(tech.getTechname() == null ? "" : tech.getTechname()); techElement.addElement(new QName("coursetime")) .addText(tech.getCoursetime() == null ? "" : tech.getCoursetime()); String trainExpireDate = ""; if (tech.getTrainExpireDate() != null) { trainExpireDate = sdf.format(tech.getTrainExpireDate()); } techElement.addElement(new QName("trainExpireDate")).addText(trainExpireDate); techElement.addElement(new QName("trainCompany")) .addText(tech.getTrainCompany() == null ? "" : tech.getTrainCompany()); techElement.addElement(new QName("courseCode")) .addText(tech.getCourseCode() == null ? "" : tech.getCourseCode()); techElement.addElement(new QName("techColor")) .addText(tech.getColor() == null ? "" : tech.getColor()); String registerDate = ""; if (tech.getRegisterDate() != null) { registerDate = sdf.format(tech.getRegisterDate()); } techElement.addElement(new QName("registerDate")).addText(registerDate); techElement.addElement(new QName("courseLicense")) .addText(tech.getCourseLicense() == null ? "" : tech.getCourseLicense()); String checkExpireDate = ""; if (tech.getCheckExpireDate() != null) { checkExpireDate = sdf.format(tech.getCheckExpireDate()); } techElement.addElement(new QName("checkExpireDate")).addText(checkExpireDate); techElement.addElement(new QName("memberLevel")) .addText(tech.getMemberLevel() == null ? "" : tech.getMemberLevel()); // ? by xiecheng 2015-11-19 techElement.addElement(new QName("nextMaintCoursetime")) .addText(StringUtils.isNoneBlank(tech.getNextMaintCoursetime()) ? tech.getNextMaintCoursetime() : ""); String nextMaintDate = ""; if (tech.getNextMaintDate() != null) { nextMaintDate = sdf.format(tech.getNextMaintDate()); } techElement.addElement(new QName("nextMaintDate")).addText(nextMaintDate); String lastConsumeDate = ""; if (tech.getLastConsumeDate() != null) { lastConsumeDate = sdf.format(tech.getLastConsumeDate()); } techElement.addElement(new QName("lastConsumeDate")).addText(lastConsumeDate); } } XMLWriter xmlwriter = new XMLWriter(writer, format); try { xmlwriter.write(doc); } catch (IOException e) { } customerInfoMessageService.sendMessage(writer.toString()); }