`

SAXBuilder sample program

    博客分类:
  • XML
阅读更多

package xmldom;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;

/**
 * xml的增删改查之SAXBuilder
 * @author Administrator
 *
 */
public class XmlTest {
 
 //查询所有的数据
 public static void list() throws JDOMException, IOException {
  SAXBuilder builder = new SAXBuilder();
  InputStream file = new FileInputStream("./src/xmldom/message.xml");
  //System.out.println(file.available());
  //获得文档对象
  Document document = builder.build(file);
  //获得根节点
  Element root = document.getRootElement();
  List list = root.getChildren();
  System.out.println("root : "+root);
  System.out.println(root.getName());
  Iterator it = list.iterator();
  //for(Element e:list) {
//  for(int i = 0; i < list.size(); i++){
  while(it.hasNext()){
   Element e = (Element) it.next();
   System.out.println("ID: "+e.getAttributeValue("id"));
   System.out.println(e.getChildText("username"));
   System.out.println(e.getChildText("password"));
   //System.out.println(list.iterator().getClass().toString());
   
  }
 }
 
 
 //添加数据
 /*
 public static void add() throws JDOMException, FileNotFoundException, IOException {
  SAXBuilder builder = new SAXBuilder();
  Document document = builder.build("src/po.xml");
  Element root = document.getRootElement();
 
  Element element = new Element("person");
  element.addAttribute("id","3");
  Element e1 = new Element("username");
  e1.setText("hello");
  Element e2 = new Element("password");
  e2.setText("world");
 
  element.addContent(e1);
  element.addContent(e2);
  root.addContent(element);
  document.setRootElement(root);
 
  XMLOutputter output = new XMLOutputter();
  output.output(document,new FileOutputStream("src/po.xml"));
 
 
 }
 */
 //修改数据
 public static void edit(int id) throws JDOMException, FileNotFoundException, IOException {
  SAXBuilder builder = new SAXBuilder();
  Document document = builder.build("./src/xmldom/message.xml");
  Element root = document.getRootElement();
 

  List list = root.getChildren();
  Iterator it = list.iterator();  
  for(int i = 0; i < list.size(); i++) {
   Element e = (Element) it.next();
   System.out.println("=============="+e.getAttributeValue("id"));
   if(Integer.parseInt(e.getAttributeValue("id")) == id) {
    e.getChild("username").setText("wuchao");
    e.getChild("username").setAttribute("ip2", "66666666666");
    e.getChild("password").setText("jiayou");
    
   }
  }
  XMLOutputter output = new XMLOutputter();
  output.output(document,new FileOutputStream("./src/xmldom/message.xml"));
 }
 
 //删除
 public static void del(int id) throws JDOMException, FileNotFoundException, IOException {
  SAXBuilder builder = new SAXBuilder();
  Document document = builder.build("./src/xmldom/message.xml");
  Element root = document.getRootElement();
 
  List list = root.getChildren();
  Iterator it = list.iterator();
 
  for(int i = 0; i < list.size(); i++) {
   Element e = (Element) it.next();
   if(Integer.parseInt(e.getAttributeValue("id")) == id) {
    root.removeContent(e);
    break;
   }
  }
    //文件处理
    XMLOutputter out = new XMLOutputter();
    out.output(document, new FileOutputStream("./src/xmldom/message.xml"));
 }
 public static void main(String[] args) {
 
//   XmlTest.add();
//   XmlTest.edit(1);
   try {
    XmlTest.list();
   } catch (JDOMException e1) {
    // TODO 自动生成 catch 块
    e1.printStackTrace();
   } catch (IOException e1) {
    // TODO 自动生成 catch 块
    e1.printStackTrace();
   }
   try {
    try {
     XmlTest.edit(1);
    } catch (FileNotFoundException e) {
     // TODO 自动生成 catch 块
     e.printStackTrace();
    } catch (IOException e) {
     // TODO 自动生成 catch 块
     e.printStackTrace();
    }
   } catch (JDOMException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
 
 }
}

/*
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <person id="1">
    <username ip="1234567" ip2="66666666666"/>
    <password>jiayou</password>
    </person>
    <person id="2">
    <username>111111111</username>
    <password>password</password>
    </person>
</root>

分享到:
评论

相关推荐

    SaxBuilder

    "SaxBuilder"是一个用于处理XML数据的工具类,它主要用于SOAP(Simple Object Access Protocol)报文的解析。SOAP是一种基于XML的协议,广泛应用于分布式系统中的Web服务接口,允许不同平台的应用程序之间进行通信。...

    JDOM SAXBuilder

    **JDOM SAXBuilder详解** JDOM,全称Java Document Object Model,是一个用于处理XML文档的Java库。它提供了一个纯Java的解决方案来创建、修改和读取XML文档,旨在提高性能和易用性。SAXBuilder是JDOM库中的一个...

    java.lang.ClassNotFoundException: org.jdom.input.SAXBuilder 处理

    在本例中,问题聚焦于 "org.jdom.input.SAXBuilder" 类,这涉及到Java的JDOM库。JDOM是一个用于处理XML文档的Java API,它提供了创建、修改和读取XML文档的功能。SAXBuilder是JDOM中的一个关键类,用于将XML数据解析...

    SAXBuilder基本用法.pdf

    **SAXBuilder** 是 JDOM 库中的一个关键类,用于构建基于SAX(Simple API for XML)的XML文档解析。在Java编程中,处理XML数据时,SAXBuilder提供了高效且内存友好的方式,因为它不会一次性加载整个XML文档到内存,...

    SAXBuilder基本用法.docx

    SAXBuilder是JDOM库中的一个关键类,用于解析XML文档。JDOM是一个Java API,设计用来处理XML数据,提供了一种与DOM(Document Object Model)类似的接口,但它的内存占用通常比DOM小,适用于处理大型XML文件。下面将...

    jdom解析xml文件

    SAXBuilder saxBuilder = new SAXBuilder(); ``` 3. **加载XML文件**:使用`SAXBuilder`读取XML文件并构建`Document`对象。 ```java import java.io.File; File inputFile = new File("sample.xml"); Document ...

    Web.xml文件配置JDOM對XML文件操作

    SAXBuilder sAXBuilder=new SAXBuilder(false); Document document=sAXBuilder.build(xmlFile); element=document.getRootElement().getChild(firstChild); }catch(Exception e){ e.printStackTrace(); } ...

    jdom教程详解

    SAXBuilder sb = new SAXBuilder(); ``` 3. **使用SAXBuilder构建Document对象**: ```java Document doc = sb.build("sample.xml"); ``` 这里 `"sample.xml"` 是待读取的XML文件名或路径。 4. **获取根元素...

    模拟spring的xml配置文件注入

    2. 创建SAXBuilder实例:`SAXBuilder saxBuilder = new SAXBuilder();` 3. 加载XML文件:`File xmlFile = new File("path_to_xml_file.xml");` 4. 解析XML文件:`Document document = saxBuilder.build(xmlFile);` 5...

    jdom读写自定义XML

    SAXBuilder sb = new SAXBuilder(false); Document doc = null; try { doc = sb.build("sample.xml"); } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); ...

    Java解析单标签中的属性

    本文将深入探讨如何使用Java的SAXBuilder类来解析XML文档中的单个标签及其属性,基于给定的代码示例。 ### Java解析单标签中的属性 #### 1. **导入必要的包** 在解析XML之前,首先需要导入处理XML相关的包。给定...

    jdom.rar 包括API与jar包

    1. 创建SAXBuilder实例:`SAXBuilder saxBuilder = new SAXBuilder();` 2. 使用SAXBuilder解析XML文件并构建Document对象:`Document document = saxBuilder.build(new File("path_to_xml_file"));` 3. 通过Document...

    基于java的用jdom解析xml.zip

    SAXBuilder saxBuilder = new SAXBuilder(); ``` 2. **读取XML文件**:然后,使用SAXBuilder的`build`方法读取XML文件,这将返回一个Document对象,表示整个XML文档的根节点。 ```java import java.io.File; File ...

    JAVA 读取XML文件

    SAXBuilder saxBuilder = new SAXBuilder(); ``` 2. **读取XML文件**:使用`SAXBuilder`的`build`方法加载XML文件,并返回一个`Document`对象。 ```java File inputFile = new File("path_to_your_xml_file....

    使用JDOM解析XML文件

    SAXBuilder saxBuilder = new SAXBuilder(); Document document = saxBuilder.build("path_to_xml_file.xml"); // 现在你可以对document进行操作了 } catch (Exception e) { e.printStackTrace(); } } } ``` ...

    解析XML所需的jar jdom.jar

    SAXBuilder saxBuilder = new SAXBuilder(); ``` 2. **解析XML**:使用SAXBuilder的`build()`方法解析XML文件,返回一个Document对象。 ```java File xmlFile = new File("path/to/your/xml/file.xml"); Document ...

    Jdom-xml解析

    SAXBuilder saxBuilder = new SAXBuilder(); Document document = saxBuilder.build("example.xml"); ``` 2. **DOMBuilder**:如果XML文件较小,可以选择DOMBuilder一次性加载整个文档到内存,提供更简单的API。 `...

    JAVA操作XML\XML\用JDOM操作XML文件--JSP中文网.mht

    JAVA操作XML\XML\用JDOM操作XML文件--JSP中文网.mht

    用jdom解析xml文件

    2. 创建SAXBuilder对象:`SAXBuilder saxBuilder = new SAXBuilder();` 3. 读取XML文件并构建DOM树:`File xmlFile = new File("path_to_xml_file"); Document document = saxBuilder.build(xmlFile);` 4. 获取根...

    jdom解析XML文件and把字符串解析成XML

    SAXBuilder builder = new SAXBuilder(); // 解析XML文件 Document doc = builder.build(input); Element root = doc.getRootElement(); // 关闭输入流 input.close(); // 输出根元素 System.out....

Global site tag (gtag.js) - Google Analytics