标签:
1 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 2 DocumentBuilder builder = factory.newDocumentBuilder(); 3 Document document = builder.parse(in);// 参数有多种类型,在此例中选择的是InputStream类型的参数
这三行代码分别是创建解析器工厂,创建解析器,获取解析的XML文档树,之后就可以对document对象进行具体的操作。
1 Element root = document.getDocumentElement();// 获取文档的根节点 2 NodeList nodeList = document.getElementsByTagName("nodename");// 根据节点名称获取节点列表
然后再循环遍历nodeList中的节点,利用节点对象的getChildNodes()的方法获取子节点列表,直到取到所需要的节点。
1. 带有标签的子节点看成Element类型的子节点2. 不包含标签的空白子节点或者文字节点看成是text类型的子节点
1 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 2 DocumentBuilder builder = factory.newDocumentBuilder(); 3 Document document = builder.newDocument();
然后是document对象的配置以及节点的创建和添加:
1 document.setXmlStandalone(true); //非必须配置,配置之后可以去除不必要的standalone属性 2 Element root = document.createElement("nodes"); // 创建文档根节点 3 document.appendChild(root);// 将根节点加入文档中
创建子节点,添加id属性,并加入根节点中,xml中节点的父子关系是通过节点的appendChild方法形成的。
1 Element node = document.createElement("node");// 创建子节点 2 node.setAttribute("id", "1"); // 为子节点添加属性 3 root.appendChild(node); // 将子节点加入到根节点中
当节点设置完成之后需要将document对象转换成xml文件,需要通过以下代码转换:
1 TransformerFactory factory = TransformerFactory.newInstance(); // 工厂类,用来获取转换对象 2 Transformer transformer = factory.newTransformer(); // 获取用于转换的对象 3 transformer.setOutputProperty(OutputKeys.INDENT, "yes"); // 设置文档自动换行 4 transformer.transform(new DOMSource(document), new StreamResult( new File("E:\\nodes.xml")));// 实现转换,需要将转换的源对象与目标文件包装一下
标签:
原文地址:http://www.cnblogs.com/java-linux/p/4582036.html