XML DTD约束 对xml文件的crud的查询Read Retriev…
2018-06-18 03:09:07来源:未知 阅读 ()
本地的dtd文档
xml中引入dtd文档
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE 书架 SYSTEM "book.dtd"> <书架> <书> <书名>Java就业培训教程</书名> <作者>张孝祥</作者> <售价>39.00</售价> </书> <书> <书名>JavaScript网页开发</书名> <作者>张孝祥</作者> <售价>28.00</售价> </书> <狗></狗> </书架>
引入后,发现狗狗是不合法的,必须符合dtd约束
根据下面dtd文档生成xml文档
当中有正则,其中+表示一次或多次 ?表示0次或多次 *表示0次或多次
dtd的约束无法约束数字等特有表达,只能字符串,所以基本被淘汰
package com.swift.xml; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class DemoXML { public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse("src/index.xml"); NodeList list = document.getElementsByTagName("书"); Node node = list.item(1); // 拿到书的所有文本 String text = node.getTextContent(); System.out.println(text); // 得到根节点 Node root = document.getElementsByTagName("书架").item(0); // 递归遍历不包括文本 traverse(root); } private static void traverse(Node root) { if (root instanceof Element) { System.out.println(root.getNodeName()); } NodeList list = root.getChildNodes(); for (int i = 0; i < list.getLength(); i++) { Node node = list.item(i); traverse(node); } } }
查询与递归操作
其中要注意:Element类的包导入有很多选择,这里要选择w3c的
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Spring02_基于XML的IOC 2020-05-24
- XML学习笔记 2020-05-04
- maven settings.xml 2020-05-01
- 基于xml文件的事务控制配置 2020-04-21
- 基于xml文件的AOP配置 2020-04-18
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash