Example usage for org.dom4j.io XMLWriter XMLWriter

List of usage examples for org.dom4j.io XMLWriter XMLWriter

Introduction

In this page you can find the example usage for org.dom4j.io XMLWriter XMLWriter.

Prototype

public XMLWriter(OutputFormat format) throws UnsupportedEncodingException 

Source Link

Usage

From source file:com.beetle.framework.util.file.XMLReader.java

License:Apache License

public static void setTagContent(String xmlFileName, String TagPath, String value) {
    synchronized (writeLock) {
        SAXReader reader = new SAXReader();
        XMLWriter writer = null;//  w  w  w  .j  av  a2  s .c  o m
        try {
            Document doc = reader.read(new File(xmlFileName));
            Node node = doc.selectSingleNode(convertPath(TagPath));
            if (node != null) {
                node.setText(value);
            }
            writer = new XMLWriter(new FileWriter(xmlFileName));
            writer.write(doc);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            reader = null;
            if (writer != null) {
                try {
                    writer.close();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
}

From source file:com.beetle.framework.util.file.XMLReader.java

License:Apache License

public static void setProperties(String xmlFileName, String itemPath, String ElementName, String keyName,
        String valueName, String key, String value) {
    // ? ??????//ww  w .  j  a  v a2  s .  c  o  m
    // ????
    synchronized (writeLock) {
        SAXReader reader = new SAXReader();
        XMLWriter writer = null;
        try {
            Document doc = reader.read(new File(xmlFileName));
            Node node = doc.selectSingleNode(convertPath(itemPath));
            if (node != null) {
                Iterator<?> it = node.selectNodes(ElementName).iterator();
                while (it.hasNext()) {
                    Element e = (Element) it.next();
                    if (e.attributeValue(keyName).equals(key)) {
                        e.addAttribute(valueName, value);
                        break;
                    }
                }
            }
            writer = new XMLWriter(new FileWriter(xmlFileName));
            writer.write(doc);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (writer != null) {
                try {
                    writer.close();
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
            reader = null;
        }
    }
}

From source file:com.brick.util.nciic.NciicUtil.java

/**
 * ?XML// w w w .j av a  2  s  .  c  o m
 * @param text
 * @return
 * @throws Exception
 */
public static List<NciicEntity> readResult(String text) throws Exception {
    List<NciicEntity> resultList = new ArrayList<NciicEntity>();
    NciicEntity result = null;
    Document d;
    XMLWriter writer = null;
    try {
        //SAXReader reader = new SAXReader();
        //d = reader.read(new File("d:/test/testxml.xml"));
        d = DocumentHelper.parseText(text);
        String dateStr = DateUtil.dateToString(new Date(), "[yyyy-MM-dd][HH-mm]");
        File xmlPath = new File(XML_PATH);
        if (!xmlPath.exists()) {
            xmlPath.mkdirs();
        }
        File xpPath = new File(XP_PATH);
        if (!xpPath.exists()) {
            xpPath.mkdirs();
        }
        writer = new XMLWriter(new FileOutputStream(new File(xmlPath, dateStr + ".xml")));
        writer.write(d);
        writer.flush();
        writer.close();
        writer = null;

        Element root = d.getRootElement();
        List<Element> allResult = root.elements("ROW");
        Element input = null;
        List<Element> output = null;
        String result_msg = null;
        for (Element element : allResult) {
            result = new NciicEntity();
            result_msg = null;
            input = element.element("INPUT");
            result.setGmsfhm(input.element("gmsfhm").getText());
            result.setXm(input.element("xm").getText());
            output = element.element("OUTPUT").elements("ITEM");
            for (Element out_element : output) {
                if (out_element.element("result_gmsfhm") != null) {
                    result.setResult_gmsfhm(out_element.element("result_gmsfhm").getText());
                }
                if (out_element.element("result_xm") != null) {
                    result.setResult_xm(out_element.element("result_xm").getText());
                }
                if (out_element.element("errormesage") != null) {
                    result.setError_msg(out_element.element("errormesage").getText());
                }
                if (out_element.element("errormesagecol") != null) {
                    result.setError_msg_col(out_element.element("errormesagecol").getText());
                }
                if (out_element.element("xp") != null) {
                    result.setXp(out_element.element("xp").getText());
                }
                if (!StringUtils.isEmpty(result.getXp())) {
                    try {
                        File f = new File(xpPath, result.getGmsfhm() + "-" + result.getXm() + ".jpg");
                        BufferedImage img = ImageIO.read(
                                new ByteArrayInputStream(new BASE64Decoder().decodeBuffer(result.getXp())));
                        ImageIO.write(img, "jpg", f);
                        result.setXp_file(f.getPath());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
            if ("".equals(result.getResult_gmsfhm()) && "".equals(result.getResult_xm())) {
                result_msg = "";
            } else {
                if ("?".equals(result.getResult_gmsfhm())) {
                    result_msg = "???";
                } else if ("?".equals(result.getResult_xm())) {
                    result_msg = "???";
                } else if (!StringUtils.isEmpty(result.getError_msg())) {
                    result_msg = result.getError_msg();
                    if (!StringUtils.isEmpty(result.getError_msg_col())) {
                        result_msg += "(" + result.getError_msg_col() + ")";
                    }
                }
            }
            result.setResult_msg(result_msg);
            resultList.add(result);
        }
        return resultList;
    } catch (Exception e) {
        throw e;
    } finally {
        if (writer != null) {
            writer.flush();
            writer.close();
            writer = null;
        }
    }
}

From source file:com.chingo247.structureapi.plan.document.PlanDocumentGenerator.java

License:Open Source License

public void generate(File targetFolder) {
    // Scan the folder called 'SchematicToPlan' for schematic files
    Iterator<File> it = FileUtils.iterateFiles(targetFolder, new String[] { "schematic" }, true);
    System.out.println("Files: " + targetFolder.listFiles().length);

    int count = 0;
    long start = System.currentTimeMillis();

    // Generate Plans
    while (it.hasNext()) {
        File schematic = it.next();

        Document d = DocumentHelper.createDocument();
        d.addElement(Elements.ROOT).addElement(Elements.SETTLERCRAFT).addElement(Elements.SCHEMATIC)
                .setText(schematic.getName());

        File plan = new File(schematic.getParent(), FilenameUtils.getBaseName(schematic.getName()) + ".xml");

        try {// w w  w . ja v a  2  s. c  o  m

            XMLWriter writer = new XMLWriter(new FileWriter(plan));
            writer.write(d);
            writer.close();

            StructurePlan sp = new StructurePlan();
            PlanDocument pd = new PlanDocument(structureAPI.getPlanDocumentManager(), plan);
            pd.putPluginElement("SettlerCraft", new PlanDocumentPluginElement("SettlerCraft", pd,
                    (Element) d.selectSingleNode("StructurePlan/SettlerCraft")));
            sp.load(pd);

            if (sp.getCategory().equals("Default")
                    && !schematic.getParentFile().getName().equals(targetFolder.getName())) {
                sp.setCategory(schematic.getParentFile().getName());
            }

            sp.save();

        } catch (DocumentException ex) {
            Logger.getLogger(StructurePlanManager.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException | StructureDataException ex) {
            Logger.getLogger(StructurePlanManager.class.getName()).log(Level.SEVERE, null, ex);
        }
        count++;
    }
    if (count > 0) {
        StructureAPI.print("Generated " + count + " plans in " + (System.currentTimeMillis() - start) + "ms");
    }
}

From source file:com.cnd.greencube.server.util.dom4j.XmlUtils.java

License:Open Source License

public String Dom2String(Document doc) {

    XMLWriter writer = null;/*from w  w  w.  ja  v a  2  s  . c  o  m*/
    try {
        StringWriter sw = new StringWriter();
        // OutputFormat format = OutputFormat.createPrettyPrint();
        // format.setEncoding("gb2312");

        writer = new XMLWriter(sw);
        writer.write(doc);
        return sw.toString();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (null != writer)
            try {
                writer.close();
            } catch (Exception ie) {
            }
    }
    return null;
}

From source file:com.cnd.greencube.server.util.dom4j.XmlUtils.java

License:Open Source License

public String Dom2String(Document doc, String encoding) {

    XMLWriter writer = null;// ww w  .ja va  2  s  .  c om
    try {
        StringWriter sw = new StringWriter();
        writer = new XMLWriter(sw);
        writer.write(doc);
        String xml = sw.toString();

        String pattern = ">";
        int idx = xml.indexOf(pattern);
        String last = xml.substring(idx + 1);
        xml = "<?xml version=\"1.0\" encoding=\"" + encoding + "\"?>" + last;
        return xml;
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (null != writer)
            try {
                writer.close();
            } catch (Exception ie) {
            }
    }
    return null;
}

From source file:com.cnd.greencube.server.util.dom4j.XmlUtils.java

License:Open Source License

public void saveXml2File(Document doc, File file) {
    XMLWriter writer = null;//  www. j a  va2  s.  com
    try {
        FileWriter fw = new FileWriter(file);
        // ??xml?????XML
        // OutputFormat format = OutputFormat.createCompactFormat();
        // format.setEncoding("UTF-8");

        writer = new XMLWriter(fw);
        writer.write(doc);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (null != writer)
            try {
                writer.close();
            } catch (Exception ie) {
            }
    }
}

From source file:com.globalsight.cxe.adapter.msoffice.ExcelRepairer.java

License:Apache License

private void repairWt() throws Exception {
    List<File> fs = getExcelRepairFiles();

    for (File f : fs) {
        String content = FileUtil.readFile(f, "utf-8");

        XmlParser parser = new XmlParser();
        org.dom4j.Document document = parser.parseXml(content);
        Element element = document.getRootElement();

        @SuppressWarnings("unchecked")
        List<Element> wts = element.selectNodes("//t");

        for (Element wt : wts) {
            if (wt == null)
                continue;

            @SuppressWarnings("unchecked")
            List<Element> es = wt.elements();
            if (!wt.isTextOnly()) {
                String text = wt.getStringValue();
                for (Element e : es) {
                    wt.remove(e);/*from   www .  j  av  a 2s .  c o  m*/
                }

                wt.setText(text);
            }
        }

        Writer fileWriter = new OutputStreamWriter(new FileOutputStream(f), "UTF-8");
        XMLWriter xmlWriter = new XMLWriter(fileWriter);
        xmlWriter.write(document);
        xmlWriter.close();
    }
}

From source file:com.globalsight.cxe.adapter.msoffice.ExcelRepairer.java

License:Apache License

private void repairExcelSharedStrings() throws Exception {
    File f = new File(path + "/xl/sharedStrings.xml");
    if (!f.exists())
        return;//from ww w  .j  a  v a 2  s .  co m

    String content = FileUtil.readFile(f, "utf-8");

    XmlParser parser = new XmlParser();
    org.dom4j.Document document = parser.parseXml(content);
    Element element = document.getRootElement();
    List<Element> rs = getElementByName(element, "r");
    for (Element r : rs) {
        @SuppressWarnings("rawtypes")
        List els = r.content();

        StringBuffer sb = new StringBuffer();
        Element wt = null;
        List<DefaultText> texts = new ArrayList<DefaultText>();

        for (Object el : els) {
            if (el instanceof DefaultText) {
                DefaultText text = (DefaultText) el;
                String s = text.getStringValue();
                if ("\n".equals(s))
                    continue;

                texts.add(text);
                sb.append(text.getStringValue());
            } else if (el instanceof Element) {
                Element elm = (Element) el;
                if ("t".equals(elm.getName())) {
                    wt = elm;
                    sb.append(elm.getStringValue());
                }
            }
        }

        if (wt == null) {
            wt = r.addElement("t");
            wt.addAttribute("xml:space", "preserve");
        }

        if (sb.length() == 0)
            sb.append(" ");

        wt.clearContent();
        wt.addText(sb.toString());

        for (DefaultText text : texts) {
            r.remove(text);
        }
    }

    Writer fileWriter = new OutputStreamWriter(new FileOutputStream(f), "UTF-8");
    XMLWriter xmlWriter = new XMLWriter(fileWriter);
    xmlWriter.write(document);
    xmlWriter.close();
}

From source file:com.globalsight.cxe.adapter.msoffice.WordRepairer.java

License:Apache License

private static void repairDocFiles(File f) throws Exception {
    if (!f.exists())
        return;/*from w  ww. j a v  a  2  s  .c o  m*/

    StyleUtil util = StyleFactory.getStyleUtil(StyleFactory.DOCX);
    util.updateBeforeExport(f.getAbsolutePath());

    String content = FileUtil.readFile(f, "utf-8");

    XmlParser parser = new XmlParser();
    parser.setErrorHandler(new ErrorHandler() {
        @Override
        public void warning(SAXParseException arg0) throws SAXException {
            // Do nothing.
        }

        @Override
        public void fatalError(SAXParseException arg0) throws SAXException {
            return;
        }

        @Override
        public void error(SAXParseException e) throws SAXException {
            String s = e.getMessage();
            if (s.matches("Attribute .*? was already specified for element[\\s\\S]*"))
                return;

            throw new SAXException("XML parse error at\n  line " + e.getLineNumber() + "\n  column "
                    + e.getColumnNumber() + "\n  Message:" + e.getMessage());
        }
    });

    org.dom4j.Document document = parser.parseXml(content);
    Element element = document.getRootElement();

    forHyperlinkInWr(element);
    forHyperlinkInWt(element);
    forWtNotInWr(element);
    forTextInWr(element);
    forWrInWr(element);
    forTextInWp(element);
    forNodesInWt(element);

    Writer fileWriter = new OutputStreamWriter(new FileOutputStream(f), "UTF-8");
    XMLWriter xmlWriter = new XMLWriter(fileWriter);
    xmlWriter.write(document);
    xmlWriter.close();

    if (content.contains("</mc:AlternateContent>")) {
        forAlternateContent(f);
    }
}