栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将新的XML节点保存到文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将新的XML节点保存到文件

您可以将节点转换为字符串,然后将此字符串保存到

.xml
文件中。

将节点转换为字符串

下面的方法会将节点转换为xml字符串。这是仅JDK的解决方案,不需要依赖项。

import org.w3c.dom.Node;import org.w3c.dom.NodeList;import javax.xml.transform.OutputKeys;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import javax.xml.xpath.XPath;import javax.xml.xpath.XPathConstants;import javax.xml.xpath.XPathexpression;import javax.xml.xpath.XPathexpressionException;import javax.xml.xpath.XPathFactory;import java.io.StringWriter;public static String toString(Node node, boolean omitXmlDeclaration, boolean prettyPrint) {    if (node == null) {        throw new IllegalArgumentException("node is null.");    }    try {        // Remove unwanted whitespaces        node.normalize();        XPath xpath = XPathFactory.newInstance().newXPath();        XPathexpression expr = xpath.compile("//text()[normalize-space()='']");        NodeList nodeList = (NodeList)expr.evaluate(node, XPathConstants.NODESET);        for (int i = 0; i < nodeList.getLength(); ++i) { Node nd = nodeList.item(i); nd.getParentNode().removeChild(nd);        }        // Create and setup transformer        Transformer transformer =  TransformerFactory.newInstance().newTransformer();        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");        if (omitXmlDeclaration == true) {transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");        }        if (prettyPrint == true) {transformer.setOutputProperty(OutputKeys.INDENT, "yes");transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");        }        // Turn the node into a string        StringWriter writer = new StringWriter();        transformer.transform(new DOMSource(node), new StreamResult(writer));        return writer.toString();    } catch (TransformerException e) {        throw new RuntimeException(e);    } catch (XPathexpressionException e) {        throw new RuntimeException(e);    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号