//创建根节点"shop"
Element shopElement = xmlDoc.createElement("shop");//设置关系
xmlDoc.appendChild(shopElement);
设置shop的子元素,pen,并将pen元素设置为shop的子元素
//创建shop的子节点pen
Element penElement = xmlDoc.createElement("pen");//设置为shop的子元素
shopElement.appendChild(penElement);
创建三个子元素,并将这个三个元素设置为pen元素的子元素
//设置pen的三个子节点
Element type = xmlDoc.createElement("type");
Element manufactruersEle = xmlDoc.createElement("manufacturers");
Element tradePriceEle = xmlDoc.createElement("tradePrice");//设置pen的子元素
penElement.appendChild(type);
penElement.appendChild(manufactruersEle);
penElement.appendChild(tradePriceEle);
for(int i =0; i <2; i++){
Element bookEle = xmlDoc.createElement("book");
Element nameEle = xmlDoc.createElement("name");
nameEle.setTextContent(nameValue[i]);
Element yearEle = xmlDoc.createElement("year");
yearEle.setTextContent(yearValue[i]);
Element priceEle = xmlDoc.createElement("price");
priceEle.setTextContent(priceValue[i]);//设置关系
bookEle.appendChild(bookEle);
bookEle.appendChild(yearEle);
bookEle.appendChild(priceEle);
shopElement.appendChild(bookEle);}
测试能否取出数据
//取得根节点下的所有子节点(book)
NodeList allNode = xmlDoc.getElementsByTagName("book");//循环取出每一个子节点for(int i =0; i < allNode.getLength(); i++){
Element item =(Element)allNode.item(i);
System.out.println("书名 : "+ item.getElementsByTagName("name").item(0).getFirstChild().getNodeValue());
System.out.println("出版时间 : "+ item.getElementsByTagName("year").item(0).getFirstChild().getNodeValue());
System.out.println("价格 : "+ item.getElementsByTagName("price").item(0).getFirstChild().getNodeValue());}
输出结果
输出DOM树到xml文件中
此时生成的DOM树还只是存在内存中,要将DOM树输出到文件中还需要以下两个接口的支持
javax.xml.transform.TransformFactory
用于创建Transform对象
javax.xml.transform.Transform
用于将DOM树转换为xml文件
TransformFactory是一个抽象类,他定义有如下方法取得操作对象
public static TransformerFactory newInstance() throws TransformerFactoryConfigurationError
Transform类中使用以下的方法将DOM树转换为xml文件
public abstract void transform(Source xmlSource,Result outputTarget)throws TransformerException