`
longzhun
  • 浏览: 372007 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

xml解析(超全)---(四)

    博客分类:
  • XML
XML 
阅读更多



 新增节点:
SAXReader read=new SAXReader();
  Document doc=null;
  try {
   doc=read.read(new File("d://student.xml"));
   //获取根节点
   Element root=doc.getRootElement();
   //增加class节点
   Element classele=root.addElement("class").addAttribute("name", "1");
   //增加class的第一个子节点(student id=1)
   Element studentele=classele.addElement("student");
   studentele.addAttribute("id", "1");
   studentele.addElement("name").addText("龙啊");
   studentele.addElement("age").addText("123");
   //增加class的第二个子节点(student id=2)
   Element studentele1=classele.addElement("student");
   studentele1.addAttribute("id", "2");
   studentele1.addElement("name").addText("帅啊");
   studentele1.addElement("age").addText("23");
   
   OutputFormat format=OutputFormat.createPrettyPrint();
   format.setEncoding("gb2312");
   format.setNewlines(true);
   format.setIndent("    ");
   XMLWriter write=new XMLWriter(new FileWriter("d://student.xml"),format);
   write.write(doc);
   write.close();
   
   
   
  } catch (DocumentException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
显示结果:


 删除节点:
SAXReader read=new SAXReader();
  Document doc=null;
  try {
   doc=read.read(new File("d://student.xml"));
   Element root=doc.getRootElement();
   
   Element element=(Element) doc.selectSingleNode("//class[@name=2]/student[@id=2]");
   Element eleclass=(Element)doc.selectSingleNode("//class[@name=2]");
   System.out.println(element.elementText("name"));
//   root.remove(element);   错误
   eleclass.remove(element);
   
   OutputFormat format=OutputFormat.createPrettyPrint();
   format.setEncoding("gb2312");
   XMLWriter write=new XMLWriter(new FileWriter("d://student.xml"),format);
   write.write(doc);
   write.close();
   
  } catch (DocumentException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
修改节点:
SAXReader read=new SAXReader();
  Document doc=null;
  try {
   doc=read.read(new File("d://student.xml"));
   Element root=doc.getRootElement();
   
   List list=doc.selectNodes("//class/student[@id=1]/age");
   for(Iterator it=list.iterator();it.hasNext();){
    Element element=(Element)it.next();
    element.setText("10");
   }
   OutputFormat format=OutputFormat.createPrettyPrint();
   format.setEncoding("gb2312");
   XMLWriter write=new XMLWriter(new FileWriter("d://student.xml"),format);
   write.write(doc);
   write.close();
   
  } catch (DocumentException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }

  • 大小: 36 KB
分享到:
评论

相关推荐

    xml教程------

    XML(eXtensible Markup Language)是一种用于标记数据的语言,它是HTML(超文本标记语言)的一个扩展,旨在传输和存储数据。本教程将深入探讨XML的基本概念、语法、解析方式以及在实际应用中的作用。 XML的设计...

    XML资料大全--基础 语言 笔记课件

    4. XML解析: - DOM(Document Object Model):将整个XML文档加载到内存中,形成一棵节点树,便于遍历和操作。 - SAX(Simple API for XML):事件驱动的解析方式,逐行读取XML,只在需要时处理特定事件,适用于...

    Java中四种XML解析技术

    在Java中,有四种主要的XML解析技术,它们分别是DOM、SAX、StAX和JAXB。本文将重点讨论DOM解析器,并通过一个简单的测试来比较不同大小XML文件的处理性能。 1. DOM(Document Object Model) DOM是一种W3C推荐的...

    XML基础教程源码-code

    在提供的"范春梅-XML基础教程源码-code"中,你可以找到关于XML处理的实例代码,可能包括创建、解析、修改XML文档等操作。通过这些源码,你可以更好地理解XML在实际开发中的应用。 总之,XML作为一种数据交换和存储...

    XML---编程宝典

    1. **解析器**:XML解析器读取XML文档并将其转化为内存中的对象模型,如DOM(文档对象模型)或SAX(简单API for XML)。 2. **DOM**:将整个XML文档加载到内存,形成一个树形结构,方便遍历和操作。 3. **SAX**:...

    oracle过程解析XML,支持超4000

    oracle过程解析XML,支持超4000,并很方便的 . 出结果 oracle过程解析XML,支持超4000 oracle过程解析XML,支持超4000

    iPhone IOS XML解析源代码

    本资源"iPhone iOS XML解析源代码"提供了一个深入学习和比较XML解析技术的实例,包含两种不同的解析方法,旨在帮助开发者了解它们的性能差异。 首先,我们来探讨第一种解析方式:NSXMLParser。这是Apple提供的内置...

    XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较,超详细

    XML 解析器原理及性能比较 XML 解析器是指将 XML 文档转换为计算机可以理解的格式的软件组件。常见的 XML 解析器有 DOM、SAX、JDOM 和 DOM4J 等。每种解析器都有其特点和优缺,选择合适的解析器对应用程序的性能和...

    在线解析HTTP XML文件

    HTTP XML文件解析是网络通信中常见的一种技术,它结合了HTTP协议和XML(可扩展标记语言)的数据格式,广泛应用于Web服务、API交互以及数据交换等领域。本文将深入探讨在线解析HTTP XML文件的相关知识点,包括HTTP...

    XML解析 XML操作

    在实际应用中,根据需求和性能考虑,可以选择合适的XML解析库和方法。例如,如果需要频繁修改XML文档,DOM可能更适合;如果处理大型XML文件,SAX或StAX会是更好的选择。结合这些库,可以高效地进行XML的读写、查询和...

    C++实现http的post发送接收数据以及xml解析

    在IT行业中,网络通信是至关重要的部分,而HTTP...理解HTTP协议的工作原理,掌握WinInet的API用法,以及熟悉XML解析库的使用,对于开发涉及网络通信的C++应用程序至关重要。通过实践,你可以更好地理解和掌握这些技能。

    pugixml, 带有XPath支持的C++的轻量级简单和快速XML解析器.zip

    pugixml, 带有XPath支持的C++的轻量级简单和快速XML解析器 pugixml pugixml是一个 C++ XML处理库,由具有丰富遍历/修改功能的DOM和基于XML的超快速XML解析器组成,用于构造XML树和复杂的数据驱动树查询的XPath 1.0...

    xml-5-lucky-draw.rar_lucky

    2. **数据解析**:HTML5页面通过JavaScript来解析XML文件,将数据加载到内存中,并显示在界面上。DOM(Document Object Model)API是用于处理XML和HTML文档的标准接口,可用于遍历和操作XML节点。 3. **用户界面**...

    javascript经典特效---XML超酷页面效果一.rar

    2. **解析XML**:获取到XML响应后,我们可以使用DOM方法如getElementsByTagName、getElementById、getAttribute等来查找和提取XML节点信息。例如,获取所有`<effect>`标签: ```javascript var effects = xmlDoc....

    全国省市地超全XML文件

    可以使用XML解析库,如Python的`xml.etree.ElementTree`,Java的`javax.xml.parsers.DocumentBuilderFactory`,或者JavaScript的`DOMParser`。这些库提供了解析XML文档,查找特定元素,以及提取和修改数据的功能。 ...

    XML实用大全(绝对经典)

    - XML解析器负责解析XML文档,确保其符合XML标准。 - **1.3.3 浏览器和其他工具** - 大多数现代浏览器支持XML,并能直接显示或通过样式表呈现XML文档。 - **1.3.4 处理过程总结** - XML文档的处理通常涉及创建、...

    CSS、DHTML、XMLDOM、T-SQL、XPath、正则表达式等.chm文件帮助文档

    这篇文档将围绕着标题中提到的六个关键技术领域——CSS(层叠样式表)、DHTML(动态超文本标记语言)、XMLDOM(XML文档对象模型)、T-SQL(Transact-SQL)、XPath(XML路径语言)以及正则表达式,展开详细的阐述。...

    无废话XML---劳虎

    7. **解析与验证**:XML文档可以被解析器读取,解析器可以是DOM(文档对象模型)、SAX(简单API for XML)或StAX(流式API for XML)。验证器则检查文档是否符合其DTD或Schema。 8. **XPath与XSLT**:XPath是查询...

    超全面javaweb第4天- 20 xml的解析的简介

    超全面javaweb第4天-_20_xml的解析的简介

Global site tag (gtag.js) - Google Analytics