用w3c解析@H_403_3@
package w3c;@H_403_3@
import java.io.File;@H_403_3@
import java.io.FileOutputStream;@H_403_3@
import java.util.Random;@H_403_3@
@H_403_3@
import javax.xml.parsers.DocumentBuilder;@H_403_3@
import javax.xml.parsers.DocumentBuilderFactory;@H_403_3@
import javax.xml.transform.OutputKeys;@H_403_3@
import javax.xml.transform.Transformer;@H_403_3@
import javax.xml.transform.TransformerFactory;@H_403_3@
import javax.xml.transform.dom.DOMSource;@H_403_3@
import javax.xml.transform.stream.StreamResult;@H_403_3@
@H_403_3@
import org.w3c.dom.Document;@H_403_3@
import org.w3c.dom.Element;@H_403_3@
import org.w3c.dom.NodeList;@H_403_3@
@H_403_3@
@H_403_3@
publicclass w3c {@H_403_3@
publicstaticvoid main(String[] args) throws Exception{@H_403_3@
createXml();@H_403_3@
}@H_403_3@
@H_403_3@
//创建XML文档并创建节点@H_403_3@
publicstaticvoid createXml() throws Exception{@H_403_3@
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();@H_403_3@
DocumentBuilder db = dbf.newDocumentBuilder();@H_403_3@
Document document = db.newDocument();@H_403_3@
document.setXmlVersion("1.0");@H_403_3@
//创建根节点@H_403_3@
Element root = document.createElement("students");@H_403_3@
document.appendChild(root);@H_403_3@
//声明一个姓名的数组@H_403_3@
String nameList[] = {"吕布","赵云","马超","张飞","关羽","许褚","孙策","周瑜","夏侯渊","张颌","于禁","黄忠","典韦","曹仁","程普"}; @H_403_3@
String sexList[] = {"男","女"};@H_403_3@
for(int i = 0 ;i < 20 ; i++){@H_403_3@
//创建根元素节点@H_403_3@
Element rootelement = document.createElement("student");@H_403_3@
//声明参数ID@H_403_3@
String id ="";@H_403_3@
for(int j = 0; j< 9 ; j ++ ){@H_403_3@
id += new Random().nextInt(8)+1;@H_403_3@
}@H_403_3@
rootelement.setAttribute("id",id);@H_403_3@
root.appendChild(rootelement);@H_403_3@
//设置元素节点@H_403_3@
Element name = document.createElement("name");@H_403_3@
Element sex = document.createElement("sex");@H_403_3@
Element age = document.createElement("age");@H_403_3@
Element phone = document.createElement("phone");@H_403_3@
//给元素节点赋值@H_403_3@
name.setTextContent(nameList[new Random().nextInt(nameList.length)]);@H_403_3@
sex.setTextContent(sexList[new Random().nextInt(sexList.length)]);@H_403_3@
age.setTextContent(new Random().nextInt(20)+20+"");@H_403_3@
String tel ="";@H_403_3@
for(int k = 0; k< 7 ; k++ ){@H_403_3@
tel += new Random().nextInt(9);@H_403_3@
}@H_403_3@
phone.setTextContent("0756-"+tel);@H_403_3@
rootelement.appendChild(name);@H_403_3@
rootelement.appendChild(sex);@H_403_3@
rootelement.appendChild(age);@H_403_3@
rootelement.appendChild(phone);@H_403_3@
}@H_403_3@
TransformerFactory transFactory = TransformerFactory.newInstance();@H_403_3@
Transformer transFormer = transFactory.newTransformer();@H_403_3@
File file = new File("w3c.xml");@H_403_3@
//判断XML文件存不存在,如果不存在则创建@H_403_3@
if(file.exists()){@H_403_3@
file.createNewFile();@H_403_3@
}@H_403_3@
transFormer.setOutputProperty(OutputKeys.INDENT,"yes");@H_403_3@
transFormer.setOutputProperty(OutputKeys.ENCODING,"utf-8");@H_403_3@
transFormer.transform(new DOMSource(document),new StreamResult(new FileOutputStream(file)));@H_403_3@
System.out.println(file.getAbsolutePath());@H_403_3@
}@H_403_3@
//解析XML文档@H_403_3@
publicstaticvoid resolving() throws Exception{@H_403_3@
DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();@H_403_3@
DocumentBuilder db = dbf.newDocumentBuilder();@H_403_3@
Document document = db.parse(new File("w3c.xml"));@H_403_3@
NodeList root = document.getElementsByTagName("student");@H_403_3@
//循环根元素节点信息@H_403_3@
for(int i = 0 ; i < root.getLength() ;i++){@H_403_3@
Element student = (Element)root.item(i);@H_403_3@
System.err.println("id = "+student.getAttribute("id")+" name = "@H_403_3@
+student.getElementsByTagName("name").item(0).getTextContent()+" sex = "@H_403_3@
+student.getElementsByTagName("sex").item(0).getTextContent()+" age = "@H_403_3@
+student.getElementsByTagName("age").item(0).getTextContent()+" phone = "@H_403_3@
+student.getElementsByTagName("phone").item(0).getTextContent());@H_403_3@
}@H_403_3@
}@H_403_3@
}@H_403_3@