java ÀûÓÃXSD ÑéÖ¤XMLÎļþ
XSDÎļþ £¨XML Schema ÓïÑÔÒ²³Æ×÷ XML Schema ¶¨Ò壨XML Schema Definition£¬XSD£©¡£ ¾ßÌåʹÓ÷½·¨ºÍ¶¨ÒåÇë²Î¿´£º
http://www.w3school.com.cn/schema/index.asp
java×Ôjdk1.5ÒÔÉÏÐÂÔöÁËSchemaFactoryÀà ¿ÉÒÔʵÏÖ¶ÔXSDÑéÖ¤µÄÖ§³Ö£¬Ê¹ÓÃÆðÀ´Ò²ºÜ·½±ã¡£
ÒÔÏ´úÂë¿ÉÓÃÔÚJDK1.5+ ÑéÖ¤xml
public class SimpleErrorHandler implements ErrorHandler {
public void warning(SAXParseException e) throws SAXException {
System.out.println(e.getMessage());
}
public void error(SAXParseException e) throws SAXException {
System.out.println(e.getMessage());
}
public void fatalError(SAXParseException e) throws SAXException {
System.out.println(e.getMessage());
}
}
SAXParserFactory factory = SAXParserFactory.newInstance();
SchemaFactory schemaFactory =
SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
factory.setSchema(schemaFactory.newSchema(
new Source[] {new StreamSource("contacts.xsd")}));
SAXParser parser = factory.newSAXParser();
SAXReader reader = new SAXReader(parser.getXMLReader());
reader.setValidation(false);
reader.setErrorHandler(new SimpleErrorHandler());
reader.read("contacts.xml");
¾ßÌåµÄ¿É²Î¿´£ºhttp://www.edankert.com/validate.html
ÔÚJDK1.5֮ǰ²»Ìṩ¶ÔXSDµÄÖ§³Ö£¬ÒÔΪÔÚJDK1.5֮ǰÖÚ¶àµÄXML APIÒѾÂúÌì·É ¿ÉʹÓÃDOM4j + xerces Èç¹û¶ÁÈ¡XML½ÚµãʹÓÃXPATHµÄ»° ÐèÒªsaxpath.jar
JDK1.4+DOM4J+xerces ÑéÖ¤xmlÎļþ
public class ParserErrorHandler implements ErrorHandler {
private static final Logger logger = Logger.getLogger(ParserErrorHandler.class);
public void error(SAXParseException e) throws SAXException {
//logger.error(e);
throw e;
}
public void fatalError(SAXParseException e) throws SAXException {
//logger.error(e);
throw e;
}
public void warning(SAXParseException e) throws SAXException {
//logger.error(e);
throw e;
}
}
--¶¨ÒåSAXReader ºó¶ÁÈ¡xmlÎļþÈç¹û²»·ûºÏXSD¹æÔòµÄ»°¾Í»áÅÜÒì³£
SAXReader reader = new SAXReader();
reader.setValidation(true);
Ïà¹ØÎĵµ£º
ÏÖÔÚ³£ÓõĿªÔ´Êý¾ÝÁ¬½Ó³ØÖ÷ÒªÓÐc3p0,dbcpºÍproxoolÈýÖÖ£¬ÆäÖУº
¨ hibernate¿ª·¢×éÍÆ¼öʹÓÃc3p0;
¨ spring¿ª·¢×éÍÆ¼öʹÓÃdbcp (dbcpÁ¬½Ó³ØÓÐweblogicÁ¬½Ó³ØÍ¬ÑùµÄÎÊÌ⣬¾ÍÊÇÇ¿ÐйرÕÁ¬½Ó»òÊý¾Ý¿âÖØÆôºó£¬ÎÞ ......
Àࣺ
·ÃÎÊÐÞÊηû
ÐÞÊηû
class
ÀàÃû³Æ
extends
¸¸ÀàÃû³Æ
implement
½Ó¿ÚÃû³Æ
£¨·ÃÎÊÐÞÊηûÓëÐÞÊηûµÄλÖÿÉÒÔ»¥»»£©
·ÃÎÊÐÞÊηû
Ãû³Æ
˵Ã÷
±¸×¢
public
¿ÉÒÔ±»ËùÓÐÀà·ÃÎÊ£¨Ê¹Óã©
publicÀà±ØÐ붨ÒåÔÚºÍÀàÃûÏàͬµÄͬÃûÎļþÖÐ
package
¿ÉÒÔ±»Í¬Ò»¸ö°üÖеÄÀà·ÃÎÊ£¨Ê¹Óã©
ĬÈϵķÃÎ ......
Õâ¸öЧ¹ûÓ¦¸Ã²»ËãÊ²Ã´Ï¡Ææ£¬ÍøÉÏÒ²ÓÐÏֳɵĴúÂ룬ÎÒÕâ¸öÒ²Ã»Ê²Ã´ÌØ±ðµÄµØ·½£¬Ö»ÊÇÒòΪÎÒ×Ô¼ºÐ´µÄ£¬Ò²ËãÊÇΪѧϰDOMºóÒ»¸öÁ·Ï°£»ÔÚIEϲâÊÔͨ¹ý£»
ʵÏÖЧ¹ûÊÇÕâÑùµÄ£º
¶ÁÈ¡XMLÎĵµ£»
²ÉÓõݹéÉú³ÉÎÞÏÞ¼¶µÄÊ÷Ðβ˵¥£»
Äܹ»ÏìÓ¦Êó±êʼþ£¬Õ¹¿ªÓë²ðµþ×Ó¼¶²Ëµ¥£»
Ê×ÏÈÊÇÉú³ÉÒ»¸öXMLÎĵµ£¬ÎÒÓõÄÊÇXML SpyµÄ±à¼Æ÷£»
< ......
¶ÔXmlµÄ½Úµã½øÐмòµ¥²éѯµÄʱºò£¬³£ÓõĿÉÒÔʹÓÃÈçÏ·½·¨£º
(1) XmlNode node = doc.selectSingleNode("//AllNode/Node[@ID = ’aaa’]");
ÔÚÕû¸öXmlÖвéÕÒAllNode½ÚµãϵĽڵãÃûΪNodeµÄ½Úµã£¬¸Ã×Ó½ÚµãµÄIDÊôÐÔֵΪaaa
(2)XmlNode node = doc.selectSingleNode("//AllNode /*[@ID = ’aaa& ......
XML¼´extensibe markup languageµÄËõд£¬Ò²¾ÍÊÇ¿ÉÀ©Õ¹±êʶÓïÑÔ¡£ÓÉÓÚÆä¿ª·ÅÐÔ£¬Ô½À´Ô½¶àµÄÈí¼þ²ÉÓÃËü×÷ΪÃèÊöÓïÑÔ£»ÓÉÓÚÆäÆ½Ì¨ÎÞ¹ØÐÔ£¬Ô½À´Ô½¶àµÄϵͳ²ÉÓÃËü×÷ΪÊý¾Ý´«µÝÖн顣¼ÆËã»úÐÐÒµÒѾ°ÑXMLΪÊý¾Ý½»»»µÄ±ê×¼£¬²¢ÌṩÁËÏ൱ÊýÁ¿µÄÖ§³Ö¹¤¾ß¡£µ« ......