DOM解析XML文档(三)

  DOM解析XML文档(三) 

example9.java

example9.java
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class Example9{
   
public static void main(String args[]){
       
try{
              DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
              DocumentBuilder builder=factory.newDocumentBuilder();
              Document document=builder.parse(
new File("Example9.xml"));
              Element root=document.getDocumentElement();

              NodeList nodeList=document.getElementsByTagName("
名称");//获得交通工具节点集合
              int size=nodeList.getLength();
                   
for(int k=0;k<size;k++){
                      Node node=nodeList.item(k);
                      
if(node.getNodeType()==Node.ELEMENT_NODE){
                         Element elementNode=(Element)node;
                         elementNode.removeAttribute("
品牌");
                      }
                  }
            nodeList=document.getElementsByTagName("
价格");//获得交通工具节点集合
            size=nodeList.getLength();
                   
for(int k=0;k<size;k++){
                      Node node=nodeList.item(k);
                      
if(node.getNodeType()==Node.ELEMENT_NODE){
                         Element elementNode=(Element)node;
                         elementNode.setAttribute("
币种","人民币");
                      }
                  }

            TransformerFactory transFactory=TransformerFactory.newInstance();
            Transformer transformer=transFactory.newTransformer();
            DOMSource domSource=
new DOMSource(document); 
            File file=
new File("Example9.xml");
            FileOutputStream out=
new FileOutputStream(file);
            StreamResult xmlResult=
new StreamResult(out);
          transformer.transform(domSource,xmlResult);
                      }
       
catch(Exception e){
            System.out.println(e);
             e.printStackTrace(); 
         }
    }
}

 

example9

example9
<?xml version="1.0" encoding="utf-8"?>
<
交通工具列表>
<交通工具>
    
<名称 品牌="飞鸽">自行车</名称>
    
<价格>568</价格>
</交通工具>
<交通工具>
    
<名称 品牌="奇瑞">轿车</名称>
    
<价格>23568</价格>
</交通工具>
</交通工具列表>

 

example10.java

example10.java
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class Example10{
   
public static void main(String args[]){
       
try{
              DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
              DocumentBuilder builder=factory.newDocumentBuilder();
              Document document=builder.parse(
new File("Example10.xml"));
              Element root=document.getDocumentElement();

              NodeList nodeList=root.getElementsByTagName("
图书名称");//获得书名的节点集合
              int size=nodeList.getLength();
              
for(int k=0;k<size;k++){
                      Node node=nodeList.item(k);
                      
if(node.getNodeType()==Node.ELEMENT_NODE){
                      Element elementNode=(Element)node;
                      String str=elementNode.getTextContent();
                      
if(str.equals("")){
                         elementNode.setTextContent("Java
经典案例");
                        }
                      
if(str.equals("Java实践教程")){
                         elementNode.setTextContent("Ajax
基础教程");
                         }
                      }
                  }   

            TransformerFactory transFactory=TransformerFactory.newInstance();
            Transformer transformer=transFactory.newTransformer();
            DOMSource domSource=
new DOMSource(document); 
            File file=
new File("Example10.xml");
            FileOutputStream out=
new FileOutputStream(file);
            StreamResult xmlResult=
new StreamResult(out);
            transformer.transform(domSource,xmlResult);
                      }
       
catch(Exception e){
            System.out.println(e);
         }
    }
}

example10

example10
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<
新书快递>
   
<图书名称>Ajax基础教程</图书名称>
   
<图书名称>Java经典案例</图书名称>
</新书快递>

 

example11.java

example11.java
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class Example11{
   
public static void main(String args[]){
       
try{
              DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
              DocumentBuilder builder=factory.newDocumentBuilder();
              Document document=builder.parse(
new File("Example11.xml"));
              DocumentType doctype=document.getDoctype();
              String DTDName=doctype.getName();
              System.out.println("DTD
的名字:" +DTDName);
              String publicId=doctype.getPublicId();
              System.out.println("PUBLIC
的标识:" +publicId);
              String systemId=doctype.getSystemId();
              System.out.println("systemId
的标识:" +systemId);
              String internalDTD=doctype.getInternalSubset();
              System.out.println("
内部DTD:" +internalDTD);
          }
       
catch(Exception e){
            System.out.println(e);
         }
    }
}

example11

example11
<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<!DOCTYPE 
员工[
   <!ELEMENT 
姓名 (#PCDATA)>
   
<!ELEMENT 性别 (#PCDATA)>
   
<!ELEMENT 出生日期 (#PCDATA)>
]>
<员工>
<姓名>王良</姓名>
<性别></性别>
<出生日期>1978-2-12</出生日期>
</员工>

 

example12.java

example12.java
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class Example12{
   
public static void main(String args[]){
       
try{
              DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
              DocumentBuilder builder=factory.newDocumentBuilder();
              Document document=builder.parse(
new File("Example12.xml"));
              Element root=document.getDocumentElement();
              String rooName=root.getNodeName();
              System.out.println("XML
文件根结点的名称为:"+rooName);
              
int sum=0; 
              NodeList nodelist=document.getElementsByTagName("
顾客");
              
int size=nodelist.getLength();
              
for(int i=0;i<size;i++) {
       Node node=nodelist.item(i);
                  String name=node.getNodeName();
                  
if(node.getNodeType()==Node.ELEMENT_NODE){
                 
  Element ele=(Element)node;
                  
  NodeList nl=node.getChildNodes();
                  
  for(int k=0;k<nl.getLength();k++){
                           Node nd=nl.item(k);
                           String name1=nd.getNodeName();
                           String content=nd.getTextContent();
                           System.out.print(name1+content);
                       }
                  } 
              }
        }
       
catch(Exception e){
            System.out.println(e);
        }
   }
}

 

example12

example12
<?xml version="1.0" encoding="utf-8" standalone="no"?><
顾客清单>
<顾客>
   
<姓名>张耀文</姓名>
   
<消费金额>200</消费金额>
   
<联系方式 工具="手机/固定电话/小灵通">13633826164</联系方式>
</顾客>
<顾客>
   
<姓名>李田田</姓名>
   
<消费金额>1123</消费金额>
   
<联系方式 工具="手机/固定电话/小灵通">037168346572</联系方式>
</顾客>
</顾客清单>

 

 

example13.java

example13.java
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class Example13{
   
public static void main(String args[]){
       
try{
              DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
              DocumentBuilder builder=factory.newDocumentBuilder();
              Document document=builder.parse(
new File("Example12.xml"));
              Element root=document.getDocumentElement();
              String rooName=root.getNodeName();
              System.out.println("XML
文件根结点的名称为:"+rooName);
              
int sum=0; 
              NodeList nodelist=document.getElementsByTagName("
消费金额");
              
int size=nodelist.getLength();
              
for(int i=0;i<size;i++){
                  Node node=nodelist.item(i);
                  String name=node.getNodeName();
                  String content=node.getTextContent();
                  sum=sum+Integer.parseInt(content.trim());
              }
             System.out.print("
顾客的消费金额合计为:"+sum);
        }
       
catch(Exception e){
            System.out.println(e);
        }
   }
}

 

 

 

example14.java

example14.java
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class Example14{
   
public static void main(String args[]){
       
try{
              DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
              DocumentBuilder builder=factory.newDocumentBuilder();
              Document document=builder.parse(
new File("Example12.xml"));
              Element root=document.getDocumentElement();


            NodeList nodeList=document.getElementsByTagName("
联系方式");//获得交通工具节点集合
           int size=nodeList.getLength();
                   
for(int k=0;k<size;k++){
                      Node node=nodeList.item(k);
                      
if(node.getNodeType()==Node.ELEMENT_NODE){
                         Element elementNode=(Element)node;
                         elementNode.setAttribute("
工具","手机/固定电话/小灵通");
                      }
                  }

            TransformerFactory transFactory=TransformerFactory.newInstance();
            Transformer transformer=transFactory.newTransformer();
            DOMSource domSource=
new DOMSource(document); 
            File file=
new File("Example12.xml");
            FileOutputStream out=
new FileOutputStream(file);
            StreamResult xmlResult=
new StreamResult(out);
          transformer.transform(domSource,xmlResult);
                      }
       
catch(Exception e){
            System.out.println(e);
             e.printStackTrace(); 
         }
    }
}

 

example15.java

example15.java
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.dom.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import java.io.*;
public class Example15{
   
public static void main(String args[]){
       
try{
              DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
              DocumentBuilder builder=factory.newDocumentBuilder();
              Document document=builder.parse(
new File("Example12.xml"));
              Element root=document.getDocumentElement();

              NodeList nodeList=root.getElementsByTagName("
消费金额");//获得图书名称节点集合
              int size=nodeList.getLength();
              
for(int k=0;k<size;k++){
                      Node node=nodeList.item(k);
                    
if(node.getNodeType()==Node.ELEMENT_NODE){
                        Element ele=(Element)node;
                         Node ndl=ele.getFirstChild();
                         Text text=(Text)ndl;
                         text.appendData("
");
  
                   }
                       }


            TransformerFactory transFactory=TransformerFactory.newInstance();
            Transformer transformer=transFactory.newTransformer();
            DOMSource domSource=
new DOMSource(document); 
            File file=
new File("Example12.xml");
            FileOutputStream out=
new FileOutputStream(file);
            StreamResult xmlResult=
new StreamResult(out);
            transformer.transform(domSource,xmlResult);
                      }
       
catch(Exception e){
            System.out.println(e);
         }
    }
}

 

example1

example1
<?xml version="1.0" encoding="GB2312"?>
<
学生信息表>
<!--this is an example-->
<学生>
<姓名>
<></>
<名字>海松</名字>
</姓名>
<性别></性别>
<班级 学号="21">08211</班级>
<出生日期>
<>24</>
<>11</>
<>1977</>
</出生日期>
</学生>
<学生>
<姓名>
<></>
<名字>红霞</名字>
</姓名>
<性别></性别>
<班级 学号="15">08211</班级>
<出生日期>
<>17</>
<>10</>
<>1983</>
</出生日期>
</学生>
</学生信息表>

 

SimpleResponse

SimpleResponse
<?xml version="1.0" encoding="GB2312"?>
<
提示>
   
<被提示>刘红霞</被提示>
   
<提示者>刘海松</提示者>
   
<标题>周末</标题>
   
<内容>不用忘了去人民公园玩呀</内容>
</提示>

test.html

test.html
<html>
<body>
<script type="text/javascript">
if (window.ActiveXObject)  {   // 
IE浏览器
   var doc=new ActiveXObject("Microsoft.XMLDOM");  
   doc.async="false";  
   doc.load("SimpleResponse.xml");
 }
else  {// Mozilla Firefox Opera等浏览器
     var parser=new DOMParser();  
     
var doc=parser.parseFromString("SimpleResponse.xml","text/xml"); 
 }
   
var x=doc.documentElement;
   
for (i=0;i<x.childNodes.length;i++) 
    { 
     document.write(x.childNodes[i].nodeName); 
     document.write("="); 
     document.write(x.childNodes[i].childNodes[0].nodeValue);  
     document.write("<br />");  
     }
</script>
</body>
</html>

 

图书列表

图书列表
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<
图书列表>
<图书 ISBN="978-7-302-15488-4">
  <名称>XML实践教程</名称>
  <作者>王峰</作者>
</图书>
<图书 ISBN="7-302-12591-0">
  <名称>JSP从入门到精通</名称>
  <作者>刘海松</作者>
</图书>
<图书 ISBN="978-7-302-14337-6">
  <名称>Java实践教程</名称>
  <作者>李章帅</作者>
</图书>
</图书列表>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值