栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

DTD约束

Java 更新时间:发布时间: 百科书网 趣学号

什么是DTD?

文档类型定义 (document type definition) (约束);

1、 在XML中加入DTD申明
       ①、内部申明:
       ②、外部申明:
       

2、 元素定义语法(DTD对元素的限制)
        ①、基本语法:

        ②、元素分类:
                 EMPTY     空元素      

                 (#PCDATA)  文本元素   
                 (e1,e2)    混合元素

         ③、 元素限制:
                 ,(顺序)、
                 |(或,多选一)、
                ?(0或1次)、
                 *(0次或多次)、
                 +(1次或多次)

   3、 属性定义语法(DTD对属性的限制)
    基本语法:
  
    属性类型:ID/CDATA/ENUM (男|女) "男" IDREF

    设置说明:#REQUIRED(必须)/#IMPLIED(可选)

4、特殊符号转义
 &(逻辑与)      -->  &
    >(大于)     -->  >
    <(小于)     -->  <
    ‘(单引号)     -->  '
    “(双引号)     -->  "
定义三个语句然后获取输入

username=u6C90u4ED9u829D
password=1234
url=www.zking.com
public static void main(String[] args) throws IOException {
		//获取文件输入流
		InputStream is = Demo1.class.getResourceAsStream("demo.properties");
		//创建properties对象
		Properties prop = new Properties();
		//加载文件输入流
		prop.load(is);
		//读取配置文件内容
		String username = prop.getProperty("username");
		String password = prop.getProperty("password");
		Object url = prop.getOrDefault("url", "http://www.baidu.com");
		System.out.println("username="+username+",password="+password);
		System.out.println("url="+url);
	}

 

 dom4j+xpath解析xml文件
    1)xpath类似数据库中的select语句;
    2)Document有节点(Node)组成:元素节点、属性、文本等;
    3)selectNodes()获取节点下所有子节点;
    4)selectSingleNodes()获取单个节点信息;
    5) xpath语法:/(定位路径)、@(获取属性)
    案例:解析student.xml



	
		张三
	
	
		李四
		
	
		王五
			

格式

public static void main(String[] args) throws DocumentException {
		try {
			//获取student。xml文件输入流
			InputStream is = Demo3.class.getResourceAsStream("/student.xml");
			//创建saxreader对象
			SAXReader saxReader = new SAXReader();
			//读取文件输入流并转换document对象
			Document doc = saxReader.read(is);
			//循环遍历
			//1.selectNodess:获取多个节点,返回list
			//2.select SingleNode:获取单个节点
			//3.xpath语法:/代表定位路径
			List root= doc.selectNodes("/students/student");
			for (Node node : root) {
				//5.将Node节点转换成元素节点Element
				Element elem=(Element) node;
				//6.获取元素节点的属性
				String pid = elem.attributeValue("pid");
				System.out.println("pid="+pid);
				//7.获取student节点下的name节点
				Node nameNode = elem.selectSingleNode("name");
				System.out.println(nameNode.getText());
			}
			//简化:xpath语法
			System.out.println("====================分割线=============================");
			Node node = doc.selectSingleNode("/students/student[@pid='p02']/name");
			System.out.println(node.getText());
		//读取config
		//	Node node = doc.selectSingleNode("/config/action[@path='/regAction']/type");
		//	System.out.println(node.getText());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

 

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/956788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号