如何在Java中使用XmlUtil工具类?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联公司-专业网站定制、快速模板网站建设、高性价比宁晋网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式宁晋网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖宁晋地区。费用合理售后完善,十余年实体公司更值得信赖。
一、代码
public class XmlUtil { /** * 将XML文件输出到指定的路径 * * @param doc * @param fileName * @throws Exception */ public static void outputXml(Document doc, String fileName) throws Exception { TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); DOMSource source = new DOMSource(doc); transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); PrintWriter pw = new PrintWriter(new FileOutputStream(fileName)); StreamResult result = new StreamResult(pw); transformer.transform(source, result); System.out.println("生成XML文件成功!"); } /** * 生成XML * * @param ip * @return */ public static Document generateXml(String ip) { Document doc = null; Element root = null; try { DocumentBuilderFactory factory = DocumentBuilderFactory .newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); doc = builder.newDocument(); root = doc.createElement("errorDevices"); doc.appendChild(root); } catch (Exception e) { e.printStackTrace(); return null;// 如果出现异常,则不再往下执行 } Element element; element = doc.createElement("errorDevice"); element.setAttribute("ip", ip); element.setAttribute("date", StringUtil.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss")); element.setAttribute("status", "1"); root.appendChild(element); return doc; } /** * 新增Xml节点 * * @param ip * @param fileName * @return * @throws FileNotFoundException * @throws TransformerException */ public static void toWrite(String filename, String ip) throws FileNotFoundException, TransformerException { String date = StringUtil.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss"); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = null; Document doc = null; try { builder = factory.newDocumentBuilder(); doc = builder.parse(new File(filename)); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } NodeList links = doc.getElementsByTagName("errorDevice"); if (links.getLength() > 0) { for (int i = 0; i < links.getLength(); i++) { Node nd = links.item(i); Node catParent = nd.getParentNode(); Element ele = (Element) nd; String url = ele.getAttribute("ip"); if (url.equals(ip)) { // ele.setAttribute("date", date); catParent.removeChild(nd); } } } Element element = doc.createElement("errorDevice"); element.setAttribute("ip", ip); element.setAttribute("date", StringUtil.formatDate(new Date(), "yyyy-MM-dd hh:mm:ss")); element.setAttribute("status", "1"); doc.getDocumentElement().appendChild(element); TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); DOMSource source = new DOMSource(doc); transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); PrintWriter pw = new PrintWriter(new FileOutputStream(filename)); StreamResult result = new StreamResult(pw); transformer.transform(source, result); System.out.println("新增XML节点成功!"); } /** * 读取XML * * @param filename * @return */ public static List
二、演示XML
三、最终效果图
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。