下面是关于String与XML互转以及从XML取节点值并修改的方法的完整攻略。
String与XML互转
String转XML
我们可以使用Java自带的DOM解析器或第三方库比如jsoup来实现String转XML。
DOM解析器实现
String xmlStr = "<root>Hello World!</root>";
// 按照字符串构建Document对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputSource is = new InputSource(new StringReader(xmlStr));
Document doc = builder.parse(is);
// 获取root节点
Element root = doc.getDocumentElement();
jsoup实现
String xmlStr = "<root>Hello World!</root>";
// 直接使用jsoup的parse方法解析字符串成为Document对象
Document doc = Jsoup.parse(xmlStr, "", Parser.xmlParser());
// 获取root节点
Element root = doc.getElementsByTag("root").get(0);
XML转String
对于XML转String,我们同样可以使用Java自带的DOM解析器或第三方库比如jsoup来实现。
DOM解析器实现
Element root = ... // 获取root节点
// 创建TransformerFactory
TransformerFactory factory = TransformerFactory.newInstance();
// 创建转换器Transformer
Transformer transformer = factory.newTransformer();
// 设置输出格式
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
// 将Document对象转为String
StringWriter sw = new StringWriter();
transformer.transform(new DOMSource(root), new StreamResult(sw));
String xmlStr = sw.toString();
jsoup实现
Element root = ... // 获取root节点
// 直接调用XML输出方法
String xmlStr = root.outerHtml();
从XML取节点值并修改
对于XML的节点值获取和修改,我们同样可以使用Java自带的DOM解析器或第三方库比如jsoup来实现。
获取节点值
DOM解析器实现
Element root = ... // 获取root节点
// 获取text节点的值
NodeList textNodes = root.getElementsByTagName("text");
Node textNode = textNodes.item(0);
String textValue = textNode.getNodeValue();
jsoup实现
Element root = ... // 获取root节点
// 获取text节点的值
String textValue = root.select("text").text();
修改节点值
DOM解析器实现
Element root = ... // 获取root节点
// 获取text节点
NodeList textNodes = root.getElementsByTagName("text");
Node textNode = textNodes.item(0);
// 修改text节点的值
textNode.setNodeValue("Modified Hello World!");
jsoup实现
Element root = ... // 获取root节点
// 修改text节点的值
root.select("text").text("Modified Hello World!");
至此,关于String与XML互转以及从XML取节点值并修改的方法的详细说明和示例就全部介绍完了,希望对您有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:String与XML互转以及从XML取节点值并修改的方法 - Python技术站