文档章节

day08 Xml与Tomcat

萧小蚁
 萧小蚁
发布于 2016/03/09 23:20
字数 761
阅读 50
收藏 2

DTD约束demo

bookstore1.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bookstore [

  <!ELEMENT bookstore (book+)>
  <!ELEMENT book (title,author,year,price)>
  <!ELEMENT title (#PCDATA)>
  <!ELEMENT author (#PCDATA)>
  <!ELEMENT year (#PCDATA)>
  <!ELEMENT price (#PCDATA)>
  
  <!ATTLIST book category CDATA #REQUIRED>
  <!ATTLIST title lang CDATA #REQUIRED>
]>
<bookstore>
<book category="COOKING">
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2004</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>学习 XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>

Schema约束 demo

booksto.xml

<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns="http://www.example.org/demo"
xsi:schemaLocation="http://www.example.org/demo demo.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<book category="COOKING">
<title>Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005-10-10</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2004-10-10</year>
<price>29.99</price>
</book>
<book category="WEB">
<title>学习 XML</title>
<author>Erik T. Ray</author>
<year>2003-10-10</year>
<price>39.95</price>
</book>
</bookstore>

demo.xsd

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
targetNamespace="http://www.example.org/demo" 
 elementFormDefault="qualified">
 <element name="bookstore">
     <complexType>
         <sequence maxOccurs="3" minOccurs="1">
             <element name="book">
                <complexType>
                   <sequence>
                      <element name="title">
                         <complexType>
                            <simpleContent>
                                <extension base="string">
                                     <attribute name="lang" type="string"></attribute>
                                </extension>
                            </simpleContent>
                         </complexType>
                      </element>
                      <element name="author"  type="string"></element>
                      <element name="year" type="date"></element>
                      <element name="price" type="double"></element>
                   </sequence>
                   <attribute name="category" type="string" use="required"></attribute>
                </complexType>
             </element>
         </sequence>
         
     </complexType>
 </element>
</schema>

Dom4J解析XML文件  demo

package demo;

import java.util.Iterator;

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

public class Test {
	public static void main(String[] args) throws Exception {
		//创建解析xml的对象
		SAXReader reader = new SAXReader();
		//读取相应的xml文件
		Document document = reader.read("WebRoot/DTD/bookstore.xml");
		//得到相应的根元素
		Element root = document.getRootElement();
		for( Iterator i = root.elementIterator(); i.hasNext();){
				Element element = (Element) i.next();
				System.out.println(element);
		}
	}

}

Dom4J  解析XML文件  demo02

package dom4jj;

import java.util.Iterator;
import java.util.List;

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

public class Test {
	public static void main(String[] args) throws Exception {
		SAXReader reader = new SAXReader();
		Document document = reader.read("WebRoot/schemademo/book.xml");
		Element root = document.getRootElement();
		
		System.out.println("-----(得到相应的根元素)-----");
		for(Iterator i = root.elementIterator();i.hasNext();){
			Element element = (Element)i.next();
			System.out.println(element);
		}
		
		System.out.println("----(得到相应的子元素)----");
		List<Element> els = root.elements();
		//得到第二个元素
		Element elem = els.get(1);
		System.out.println(elem.getName());//得到相应标签的名字
		Attribute attribute = elem.attribute("category");//得到指定属性的属性对象
		System.out.println(attribute.getValue());//得到相对应的属性的值
		String attributeValue = elem.attributeValue("category");//直接得到指定属性的属性值
		System.out.println(attributeValue);
		Element element = elem.element("title"); //得到指定的标签对象
	    String text = element.getText();//得到相应的标签的文本值
	    System.out.println(text);
	    String elementText = elem.elementText("title");
	    System.out.println(elementText);
	}
}

Xpath  解析XML文件  test01

package cn.itcast.dom4j;

import java.util.List;

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

public class DomXpath {
    public static void main(String[] args) throws Exception {
		
    	//创建解析的对象
    	SAXReader reader = new SAXReader();
        //读取xml文件
    	Document document = reader.read("WebRoot/dom4j/bookstore.xml");
    	//BBB
    	List<Element> elements = document.selectNodes("//year");
    	for(Element ele:elements){
    		
    		System.out.println(ele.getText());
    	}
	}
}

Xpath  解析XML文件  test02

package cn.itcast.dom4j;

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

public class DomXpath2 {
   public static void main(String[] args) throws Exception {
	
	   //获取解析xml的对象
	   SAXReader read = new SAXReader();
	   //读取相应的xml文件
	   Document document = read.read("WebRoot/dom4j/bookstore.xml");
	   //查找单个标签元素  //BBB[@name='bbb']
	   Element ele = (Element) document.selectSingleNode("//book[@category='WEB']/price");
	   System.out.println(ele.getText());
}
}

Web应用目录结构:

          WEB-INF  必须有的目录,里面存放的是项目编译后的.class文件,所以不可以将.jsp文件放到该目录下

http:超文本传输协议(HTTPHyperText Transfer Protocol)

           协议:规范。(我们网上传输的资源遵循http协议规范)


© 著作权归作者所有

共有 人打赏支持
上一篇: day09 Servlet
下一篇: 回顾复习
萧小蚁

萧小蚁

粉丝 98
博文 279
码字总数 192339
作品 0
海淀
程序员
私信 提问
java学习计划

源于传智播客毕向东老师的教学计划: day01-01-基本常识 day01-02-Java的跨平台性 day01-03-Java环境搭建(安装) day01-04-Java环境搭建(环境变量配置) day01-05-Java环境搭建(环境变量配置技...

Bony
2016/05/14
41
0
47.JDBC_insert / select 操作

1.JDBC_insert 1.1 效果 1.2 代码 package cn.ma.com; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import ja......

Lucky_Me
2017/10/03
0
0
Java语言中的----枚举

day08 Java语言中的----枚举 一、概述: 什么是枚举?枚举有什么作用?我们又如何来使用这个枚举。其实枚举就是不可变的一些成员变量,比如:春夏秋冬、年、十二个月、颜色等等。都是一些固定...

孤独一夜
2017/09/25
0
0
web.xml各版本头文件及与JDK、Tomcat版本对应关系

本文转载自: web.xml各版本头文件及与Tomcat版本对应关系 web.xml及web-fragment.xml模板 web.xml——version2.2——JDK1.1——Tomcat3.3 web.xml——version2.3——JDK1.3——Tomcat4.1...

gongxifacai_believe
2017/10/18
0
0
Could not evaluate: Could not retrieve information from environment production source(s) puppet:///modules

init.pp 文件 class tomcat::config { file { "/usr/local/tomcat/conf/server.xml": owner => "root", group => "root", mode => 0600, source => "puppet:///modules/tomcat/files/server.......

LionelShen
2015/02/16
865
2

没有更多内容

加载失败,请刷新页面

加载更多

ConcurrentHashMap 高并发性的实现机制

ConcurrentHashMap 的结构分析 为了更好的理解 ConcurrentHashMap 高并发的具体实现,让我们先探索它的结构模型。 ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。HashEnt...

TonyStarkSir
今天
3
0
大数据教程(7.4)HDFS的java客户端API(流处理方式)

博主上一篇博客分享了namenode和datanode的工作原理,本章节将继前面的HDFS的java客户端简单API后深度讲述HDFS流处理API。 场景:博主前面的文章介绍过HDFS上存的大文件会成不同的块存储在不...

em_aaron
昨天
2
0
聊聊storm的window trigger

序 本文主要研究一下storm的window trigger WindowTridentProcessor.prepare storm-core-1.2.2-sources.jar!/org/apache/storm/trident/windowing/WindowTridentProcessor.java public v......

go4it
昨天
6
0
CentOS 生产环境配置

初始配置 对于一般配置来说,不需要安装 epel-release 仓库,本文主要在于希望跟随 RHEL 的配置流程,紧跟红帽公司对于服务器的配置说明。 # yum update 安装 centos-release-scl # yum ins...

clin003
昨天
9
0
GPON网络故障处理手册

导读 为了方便广大网络工作者工作需要,特搜集以下GPON网络处理流程供大家学习参考。开始—初步定为故障—检查光纤状况—检查ONU状态--检查设备运行状态—检查设备数据配置—检查上层设备状态...

问题终结者
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部