首页 > 其他 > 详细

xml文件的更改(W3CDom解决DTD丢失问题)

时间:2019-09-10 12:47:53      阅读:126      评论:0      收藏:0      [点我收藏+]

package com.cn.utils;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.*;

/**
* 修改xml文件
*
* @author Administrator
*
*/
public class UpdateXml {
static File file = new File("E:\\MainProgram\\editor\\bianjiqicode8.10\\swtech-service-pageDesign\\src\\main\\resources\\data\\test.xml");// Persons.xml文件绝对路径
public static void main(String[] args) {
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
//获取指定的节点
NodeList list = doc.getElementsByTagName("property");
//查看这个节点的个数,并遍利属性值$,

for (int i = 0; i < list.getLength(); i++) {
Element ele = (Element) list.item(i);
String brandName = ele.getAttribute("value");
System.out.println(brandName);
if (brandName.equals("jdbc:mysql://120.78.75.246:32781/hbsxt?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true")) {
ele.setAttribute("value", "192.168.0.231");
}
}
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource domSource = new DOMSource(doc);
// 设置编码类型
//transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
//javax.xml.transform.OutputKeys.DOCTYPE_SYSTEM, doc.getDoctype().getSystemId()

//、使用W3CDom编辑完上面的XML文件,把document转换为XML文件的时候,DTD定义会丢失
transformer.setOutputProperty(javax.xml.transform.OutputKeys.DOCTYPE_PUBLIC, doc.getDoctype().getPublicId());
transformer.setOutputProperty(javax.xml.transform.OutputKeys.DOCTYPE_SYSTEM, doc.getDoctype().getSystemId());
StreamResult result = new StreamResult(new FileOutputStream(file));
transformer.transform(domSource, result);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}

xml文件的更改(W3CDom解决DTD丢失问题)

原文:https://www.cnblogs.com/books148/p/11496398.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!