JavaWeb-ADV Chapter 1 the XML

来源:互联网 发布:js实现饼图 编辑:程序博客网 时间:2024/06/06 03:07
作者:Lovingshu目标:[能够采用自己的方式来解析XML文档]内容:1.解析XML文档的方法,其实这里有很多种方法,我这里就只采用其中的一种比较简单的,高效率的Dom4j(1)导入Dom4j类库是很有必要的(java中是不是叫类库?反正就是lib文件嘛)(2)导入后我们就可用里面的一些类和方法了2.开始解析文档/** * 读XML文件 */public void resovingXML(){//创建解析器SAXReader reader=new SAXReader();//导入org.dom4j.io.SAXReader//得到文档对象,导入org.dom4j.Document,并且要处理异常try {Document doc=reader.read(TestIT.class.getClassLoader().getResource("Paht"));//得到根节点import org.dom4j.Element;Element root=doc.getRootElement();//得到所有节点的集合import java.util.List;List<Element> list_em=root.elements();for(Element e : list_em){//获取属性String attrOne=e.attributeValue("[属性名]");//获取值String conOne=e.elementText("[元素标签名称]");//....}} catch (DocumentException e) {e.printStackTrace();}}3.开始写入文档/** * 写XML文件 */public void writeXML(){//得到文档对象Document doc=DocumentHelper.createDocument();//创建根节点Element root=doc.addElement("class");//采用循环添加值for(int i=0;i<100;i++){//设置第二级节点,并把二级节点加入到根节点中Element student=root.addElement("student");//设置二级节点的属性student.addAttribute("stuNo",(1000+i)+"");//添加二级节点的子节点,并且设置值student.addElement("stuName").setText("MrNo"+i);student.addElement("stuAge").setText(i+"");//....}//设置格式化器import org.dom4j.io.OutputFormat;OutputFormat format=new OutputFormat();//设置属性format.setEncoding("utf-8");format.setIndentSize(4);format.setNewlines(true);//得到写入器//在写入之前呢我自己想了一个方法来得到xml文件的路径并且也不会报错!//还好java有着跨平台的优势,所以这种获取路径的方式也就比较先进了!String url=TestIT.class.getClassLoader().getResource("[文件名]").toString();url=url.replaceAll("%20", " ").substring(url.indexOf("/")+1);//处理异常try {XMLWriter writer=new XMLWriter(new FileOutputStream(url), format);//写入writer.write(doc);//关闭流writer.close();} catch (UnsupportedEncodingException e) {e.printStackTrace();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {e.printStackTrace();}}--------------------------------------------lovingshu's Forever 2011.09.06---------------------------------------------------------
原创粉丝点击