您的位置:首页 > 编程语言 > Java开发

Java学习笔记39:Spring XML使用

2013-04-24 20:12 441 查看
我们使用jdom的XML解析库,所以pom.xml中需要依赖:

<!-- XML解析 -->
		<dependency>
			<groupId>org.jdom</groupId>
			<artifactId>jdom</artifactId>
			<version>2.0.2</version>
		</dependency>


创建XML实例:

Element rootElement = new Element("root"); //创建根节点
        
        //属性创建
        rootElement.setAttribute("title", "this is test xml"); //root节点上穿件一个title属性
        rootElement.setAttribute("id", "root"); //root节点上穿件一个title属性
        
        //创建person1子节点
        Element person1 = new Element("person1"); //创建person1节点
        person1.addContent(new Element("name").setText("zhuli")); //创建person1中的name节点和内容
        person1.addContent(new Element("age").setText("30岁"));//创建person1中的age节点和内容
        
        //创建person2子节点
        Element person2 = new Element("person2"); //创建person2节点
        person2.addContent(new Element("name").setText("zhuli")); //创建person2中的name节点和内容
        person2.addContent(new Element("age").setText("30岁"));//创建person2中的age节点和内容
        
        //root节点上面添加子节点
        rootElement.addContent(person1); //将person1节点加入到root根节点
        rootElement.addContent(person2); //将person1节点加入到root根节点
        
        rootElement.addContent(new Element("result").setText("ss").setAttribute("id", "result")); //只有一层的子节点
        rootElement.addContent(new Element("detail").setText("asdasda"));
        
        Document myDocument = new Document(rootElement);
        XMLOutputter xmlOut = new XMLOutputter(Format.getPrettyFormat());
        return xmlOut.outputString(myDocument);


结果:

<?xml version="1.0" encoding="UTF-8"?>
<root title="this is test xml" id="root">
  <person1>
    <name>zhuli</name>
    <age>30岁</age>
  </person1>
  <person2>
    <name>zhuli</name>
    <age>30岁</age>
  </person2>
  <result id="result">ss</result>
  <detail>asdasda</detail>
</root>


解析XML实例:

解析上面的xml文档

@SuppressWarnings("deprecation")
        SAXBuilder builder = new SAXBuilder(false);    
        try {     
            InputStream isXml = new ByteArrayInputStream(xml.getBytes("UTF-8"));
            Document document = builder.build(isXml); //获取XML文档实例,字符串XML格式,如果是URL是builder.url()
            Element root = document.getRootElement(); //获取根节点
            
            //获取根节点root上的title和id属性
            System.out.println("root title:" + root.getAttributeValue("title"));
            System.out.println("root id:" + root.getAttributeValue("id"));
            
            //person1节点:
            System.out.println("person1节点:");
            Element person1 = root.getChild("person1");
            System.out.println("person1 name:" + person1.getChildText("name"));
            System.out.println("person1 age:" + person1.getChildText("age"));
            
            //person2节点:
            System.out.println("person2节点:");
            Element person2 = root.getChild("person2");
            System.out.println("person2 name:" + person2.getChildText("name"));
            System.out.println("person2 age:" + person2.getChildText("age"));
            
            //获取result值
            System.out.println("result text:" + root.getChildText("result"));
            
            //
            System.out.println("detail text:" + root.getChildText("detail"));
        } catch (Exception e) {

        }


控制台结果:

root title:this is test xml
root id:root
person1节点:
person1 name:zhuli
person1 age:30岁
person2节点:
person2 name:zhuli
person2 age:30岁
result text:ss
detail text:asdasda
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: