JDOM使用简介--生成和处理XML文档对象

1.XML文件的内容不像HTML那样,他是一套标准,主要由以下部分组成:

<?xml version="1.0" encoding="UTF-8"?>
       <MyRoot  title="usermessage">------根元素(一个xml文档只有一个根元素)
           <name>henrylin</name>              ------name子元素 包含内容henrylin               
           <age value="23"/>                        ------带属性value值为23的age子元素
           <contact>                                       ------子元素contact含有子元素telephone
               <telephone>13459204193</telephone>
           </contact>
       </MyRoot>
2.以上xml文件的生成过程的对象关系:

      XML 元素==Element 的实例

      XML 属性== Attribute 的实例

      XML 文档== Document 的实例

3.代码:
      Element root=new Element("MyRoot");

      Domcument myDocument=new Document(root);//根元素作为参数创建对象

      Attribute att=new Attribute("title","usermessage");

      root.setAttribute(att);//给根元素对象添加属性,名为title,值为usermessage

      Element name=new Element("name");

      name.addContent("henrylin");// 初始化一个含有henrylin的内容的element

      root.addContent(name);//将该节点添加到element的content内容中

      root.addContent(new Element("age").setAttribute(new Attribute("age","23")));添加带属性的节点

      root.removeChild("age");//删除root元素下面的age子元素

      注:以上代码可看出Element类有一个两个同名方法addContent,参数分别为String和Element。

            一般在叶子节点上面直接使用String参数,其他时候通常使用Element参数。

      理解以上代码以后,几乎可以生成任何你想要生成的XML内容了。

 4. 使用XMLOutputter类将JDOM文档对象转化为其他输出对象
   4.1 输出到控制台
     XMLOutputter xmlOut = new XMLOutputter(Format.getPrettyFormat());//指定格式
     try {
          xmlOut.output(myDocument,System.out);//指定输出对象为System.out
          } catch (IOException e)
       {
     e.printStackTrace();
        }
   4.2 转化给Writer 或 OutputStream对象:
       FileWriter writer = new FileWriter("/some/directory/myFile.xml");
       outputter.output(myDocument, writer);
       writer.close(); 
   4.3 转化给String变量:    
        Strng outString = xmlOut.outputString(myDocument);
   4.4 选择元素进行输出:
        xmlOut.output(rootElement.getChild("name"),System.out);

 5.JDOM读取并操作现有的 XML 数据。
       包:org.jdom.input.*这个包里。
       类:
          DOMBuilder功能是将DOM模型的Document解析成JDOM模型的Document
          SAXBuilder的功能是从文件或流中解析出符合JDOM模型的XML树。
       解析一个xml文档,基本可以看成以下几个步骤:
       5.1.实例化一个合适的解析器对象
           本例中我们使用SAXBuilder:
           SAXBuilder sb = new SAXBuilder();
       5.2.以包含XML数据的文件为参数,构建一个文档对象myDocument
           Document myDocument = sb.build(/some/directory/myFile.xml);
       5.3.获到根元素
           Element rootElement = myDocument.getRootElement();
           Element对象的常用方法作简单说明:
           getChild("childname") 返回指定名字的子节点,如果同一级有多个同名子节点,则只返回第一个;

           如果没有返回null值。
           getChildren("childname") 返回指定名字的子节点List集合。这样你就可以遍历所有的同一级同名子节点。
           getAttributeValue("name") 返回指定属性名字的值。如果没有该属性则返回null,有该属性但是值为空,

           则返回空字符串。
           getChildText("childname") 返回指定子节点的内容文本值。
           getText() 返回该元素的内容文本值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值