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

将子节点从XML文件拆分为自己的XML文件

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

将子节点从XML文件拆分为自己的XML文件

根据Java文档,

使用cloneNode方法。

摘要:

public Node cloneNode(boolean deep)

返回此节点的副本,即用作节点的通用副本构造函数。复制节点没有父节点。(parentNode为null。)。

克隆元素会复制所有属性及其值,包括XML处理器生成的代表默认属性的属性,但是此方法不会复制它包含的任何文本,除非它是深度克隆,因为该文本包含在子Text节点中。直接克隆属性(而不是作为元素克隆操作的一部分进行克隆)将返回指定的属性(指定为true)。克隆任何其他类型的节点只会返回该节点的副本。

请注意,克隆不可变的子树会导致可变的副本,但是EntityReference克隆的子级是readonly。此外,还指定了未指定Attr节点的克隆。并且,克隆document,documentType,Entity和Notation节点取决于实现。

编辑:

import java.io.*;import javax.xml.parsers.*;import org.w3c.dom.*;import org.xml.sax.*;import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult;public class Test{ static public void main(String[] arg) throws Exception{ documentBuilderFactory factory = documentBuilderFactory.newInstance(); documentBuilder builder = factory.newdocumentBuilder(); document doc = builder.parse("foo.xml"); TransformerFactory tranFactory = TransformerFactory.newInstance();  Transformer aTransformer = tranFactory.newTransformer(); NodeList list = doc.getFirstChild().getChildNodes(); for (int i=0; i<list.getLength(); i++){    Node element = list.item(i).cloneNode(true); if(element.hasChildNodes()){   Source src = new DOMSource(element);    FileOutputStream fs=new FileOutputStream("k" + i + ".xml");   Result dest = new StreamResult(fs);   aTransformer.transform(src, dest);   fs.close();   }   }  }}


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

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

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