XML注释

                               一.学习xml注释作用

1.什么是xml注释?

XML注解是一种用于描述XML文档结构和元素内容的标记语言。它是通过在XML文档中使用特殊的标记来定义文档结构和元素属性的。XML注解通常用于数据编码和数据交换的应用程序之间,以确保数据的一致性和互操作性。 XML注解具有良好的可扩展性和可读性,因此它通常是最常用的数据交换格式之一。

2.为什么要学习xml注释,有什么用途?

XML注解主要有以下几个用途:

1. 描述文档结构:XML注解可以定义和描述XML文档的结构,包括文档头、根节点、元素、属性和命名空间等,从而使数据格式更加清晰明了。

2. 标记重要元素:XML注解还可以标记文档中一些重要的元素,如验证规则、约束条件和数据类型等。

3. 数据交换:XML注解定义好的数据结构具有良好的可扩展性和互操作性,可以用于数据交换场合,如Web服务端和客户端之间的数据交换。

4. 数据持久化:XML注解可以将数据格式化为文本格式,从而将其存储在文件或数据库中,以实现数据的持久化。

5. 客户端解析:XML注解格式化的数据可以被客户端解析,并用于生成用户界面,提供数据查询和分析等功能。

3.java中配置文件位置和读取

1.在同一个包里

在这里我要读取config.properties里面的元素

 代码截屏:

 效果图:

 源码:

	InputStream in = demo2.class.getResourceAsStream("config.properties");
		Properties p = new Properties();
		// Properties加载文件所对应的流
		 p.load(in);
		 System.out.println(p.getProperty ("driver"));
		 System.out.println(p.getProperty("url"));

2.根目录 

代码截屏,效果图:

源码:

	InputStream in = demo2.class.getResourceAsStream("/config.properties");
		Properties p = new Properties();
		// Properties加载文件所对应的流
		 p.load(in);
		 System.out.println(p.getProperty ("driver"));
		 System.out.println(p.getProperty("url"));

 3.web-inf安全路径

代码截屏,效果图:

 源码:

package com.lz.parse;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * 3.web-inf安全路径
 */

@WebServlet("/z")
public class z extends HttpServlet {
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	doPost(request, response);
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                InputStream in = request.getServletContext().getResourceAsStream("/WEB-INF/config.properties");
        		Properties p = new Properties();
        		// Properties加载文件所对应的流
        		 p.load(in);
        		 System.out.println(p.getProperty ("driver"));
        		 System.out.println(p.getProperty("url"));
	}

}

 二.demo4j的使用

   1.selectNodes

代码截屏,效果图:  

 

2.selectStringNodes 

代码,效果图:

3.attributeValus 

代码,效果图:

 4.getText

 源码:

package com.lz.parse;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Properties;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class demo3 {

	public static void main(String[] args) throws Exception {   
//	         1.selectNodes  获取所有节点
		  InputStream in = demo3  .class.getResourceAsStream("students.xml");
		 SAXReader  sr=new  SAXReader();
		 Document doc = sr.read(in);
		 List<Element> stu = doc.selectNodes("/students/student");
		 for (Element element : stu) {
	//	System.out.println(element.asXML());	
//		System.out.println("-----------------分割线------------");
//        2.selectStringNodes  获得单个节点
		Element name = (Element) element.selectSingleNode("name");
//		System.out.println("name标签:"+name.asXML());
//        3.getText   获取某个便签内容
//		System.out.println(name.getText());
//        4.attributeValus    获取某个标签属性
		System.out.println(element.attributeValue("sid"));
		}  
		 

		

		


		
		
		
	
}
}

5.实例:

 源码:

package com.lz.parse;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Properties;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;

public class demo4 {

	public static void main(String[] args) throws Exception {   

  /**	       XPath解析	 
   * 实例       获取id=002 的学生
   */
		  InputStream in = demo3  .class.getResourceAsStream("students.xml");
			 SAXReader  sr=new  SAXReader();
			 Document doc = sr.read(in);
			 List<Element> stu = doc.selectNodes("/students/student");
			 for (Element element : stu) {
	    Element name = (Element) doc.selectSingleNode("/students/student[@sid='s002']/name");
			System.out.println(name.getText());
			}  
		

		


		
		
		
	
}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默o。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值