您的位置:首页 > 运维架构 > Tomcat

day08 Xml与Tomcat

2016-03-09 00:00 375 查看


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:超文本传输协议(HTTP,HyperText Transfer Protocol)

协议:规范。(我们网上传输的资源遵循http协议规范)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: