DOM生成&解析

本文详细介绍了如何使用Java进行DOM生成及解析XML文件的过程。包括创建Document实例、构造DOM树、设置节点属性、输出到文件等步骤,并展示了如何读取XML文件、获取根节点、遍历节点集合的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开篇注意,由于解析有可能有大文件非常耗时,建议另开一个线程解析也可以不开具体视情况而定
 
 
DOM生成
1.拿到Document的工厂实例化
DocumentBuilderFactory df =DocumentBuilderFactory.newInstance();
2.通过工厂实例化拿到Document的构造实力
DocumentBuilder db = df.newDocumentBuilder();
3.通过Document的构造实力拿到文档实例
Document dm = db.newDocument();
4..通过文档实例创建节点
Element rootElement = dm.createElement(节点的名Tag);
5.给节点设置属性
rootElement .setAttribute(属性名,属性值);
6.设置节点的关系(谁是谁的子元素)
dm..appendChild(根节点);其他的节点也可以这样设置子节点,前提是子节点已经加载完成或者设置完毕
7.输出到文件
7.1变压工厂实例
TransformerFactory tf = TransformerFactory.newInstance();
7.2拿到变压工厂
Transformer tm = tf.newTransformer();
7.3设置工厂的输出格式
tm.setOutputProperty(OutputKeys.ENCODING,"utf-8");//设置编码
7.4输出文档
DOMSource ds = new DOMSource(dm);
7.5设置文档输出位置(也就是路径)
StreamResult sr = new StreamResult(new File(getFilesDir().getPath()+"/mydoc.xml"));
7.6设置需要输出的文档,以及路径
tm.transform(ds, sr);
 
DOM解析
// 拿到document的工厂方法                               
DocumentBuilderFactory doc = DocumentBuilderFactory.newInstance();
// 拿到document的构建器
DocumentBuilder nb = doc.newDocumentBuilder();
// 加载需要解析的文件
Document parse = nb.parse(open);
// 拿到文件的根节点
Element root = parse.getDocumentElement();
//通过根节点拿到子节点的集合
NodeList pnl = root.getElementsByTagName("province");
//遍历节点的集合
for (int p = 0; p < pnl.getLength(); p++) {
//在遍历的过程中可以通过.item()放入下标的方式拿到单独的一个节点类型是一个Node类型然后转换为Element类型,因为Element继承了Node
Element ep = (Element) pnl.item(p);
}
中心点:Element拿到参数通过getAttribute(参数名)内容可以通过getTextContent()获取

转载于:https://www.cnblogs.com/lizhanqi/p/5659120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值