Java通过XML Schema校验XML
Java通过XML Schema校验XML
XML的校验在XML处理中非常常见,如果没有有效的办法来校验XML的合法性,往往会导致很多问题。
XML的校验是通过XML Schema(XSD) 或DTD文件的语法规范来校验的。DTD现在越来越不受欢迎了,在此选用XSD来校验。
Java校验XML是件和扯淡的事情,因为Sun的XML相关软件包会令你云里雾里。
W3C这块的XML相关的规范相当的多,这也是导致XML处理器起来费劲的主要原因。要想精通这些规范和相关的API,实在是异想天开(新的规范在不停出,越来越多!)。
校验的原理是通过读取解析XML的时候设置校验的XSD和校验错误处理器,顺便校验的。
下面不扯这些废话了,我用DOM4j结合javaxml api使用XSD来校验一个xml有效性,下面这个例子虽然和蹩脚,但是也费了一番功夫,放出来大家研究吧,有更好的实现也希望能和我一同分享。
例子如下:
XML文件
<?xml version="1.0"?>
<note
xmlns="http://www.w3school.com.cn"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3school.com.cn file:///D:/_dev_stu/xsdtest/src/note.xml">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting this weekend!</body>
</note>
XSD文件
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3school.com.cn"
xmlns="http://www.w3school.com.cn"
elementFormDefault="qualified">
<xs:element name="note">
<xs:complexType>
&
相关文档:
今天看了一位前辈的文章http://blog.csdn.net/psyl/archive/2010/01/24/5250562.aspx
第一题就不会。哎,晕啊。基础太差,需要加强。
Google了一下 http://www.ibm.com/developerworks/cn/java/l-javaassertion/index.html 这篇文章介绍assertion,感觉不错,转下地址。
Spring也提供了断言的功能
org.springframew ......
1. 抽象
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2. 继承
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确 ......
在算术运算符部分,需要特别注意的一个语法现象是“晋升”。晋升指低于int的3种数字类型(byte、short和char)进行算术运算后,结果会自动提升成int类型。示例代码如下:
byte b1 = 10;
& ......
定义动态代理类DynamicProxy
package com.zte.adc.common;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class DynamicProxy implements InvocationHandler {
private Object object;
// 绑定关系,也就是关联到哪个接口(与 ......
Java IO学习笔记:字节流
字节流是最基本的流,文件的操作、网络数据的传输等等都依赖于字节流。而字符流常常用于读取文本类型的数据或字符串流的操作等等。
关于字节流的API,没什么好说的,看看就知道了。这里挑几个关键点:
一、InputStream的API
1、public int read()
从输入流读取下一个 ......