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);
Ïà¹ØÎĵµ£º
½ÌÄãÔõÑùÔÚjavaµÄÓ¦ÓóÌÐòÖмÓÈëÉùÒô
¡¡×î½üÔÚ×öjava¿Î³ÌÉè¼Æ£¬ÏëÔÚÓ¦ÓóÌÐò£¨ÓÐmain£¨£©º¯ÊýµÄ£©ÖмÓÈëÉùÒô£¬´ó¼ÒÖªµÀ
ÔÚ Java applet ÖÐÉùÒô²¥·ÅÈÎÎñºÜ¼òµ¥£¬µ«ÊÇÔÚÓ¦ÓóÌÐòÖÐȱÉÙÕâÑùµÄÖ§³Ö¡£ÏÖÔÚ¸æËßÄãÈçºÎ
ÔÚ Java Ó¦ÓóÌÐòÖв¥·ÅÉùÒôÎļþ¡£
¡¡¡¡¿´Á˺öà×ÊÁÏ·¢ÏÖÔÚ Java Ó¦ÓóÌÐòÖв¥·ÅÉùÒôÎļþÔÚÏÖÓз¢ÐÐµÄ Java ......
¡¾ÈËÎïС´«¡¿
James Gosling £¨1955.5.19-£©¼ÓÄôó³öÉúµÄ³ÌÐòÔ±£¬ÃÀ¹ú¹¤³ÌԺԺʿ¡£ÒÔ“Java ¼¼ÊõÖ®¸¸”¶øÎÅÃûÓÚÊÀ¡£ËûÊÇJava ¼¼ÊõµÄ´´Ê¼ÈË£¬Ç×ÊÖÉè¼ÆÁËJavaÓïÑÔ£¬²¢¿ª·¢ÁËJava±àÒëÆ÷ºÍJavaÐéÄâ»ú£¬Ê¹Java³ÉΪÁËÊÀ½çÉÏ×îÁ÷ÐеĿª·¢ÓïÑÔ¡£
James GoslingÏÈÉúÓÚ1977Äê»ñµÃ¼ÓÄô󿨶û¼ÓÀï´óѧ¼ÆËã»ú¿Æѧѧʿѧ ......
¶ÔXmlµÄ½Úµã½øÐмòµ¥²éѯµÄʱºò£¬³£ÓõĿÉÒÔʹÓÃÈçÏ·½·¨£º
(1) XmlNode node = doc.selectSingleNode("//AllNode/Node[@ID = ’aaa’]");
ÔÚÕû¸öXmlÖвéÕÒAllNode½ÚµãϵĽڵãÃûΪNodeµÄ½Úµã£¬¸Ã×Ó½ÚµãµÄIDÊôÐÔֵΪaaa
(2)XmlNode node = doc.selectSingleNode("//AllNode /*[@ID = ’aaa& ......
ÀûÓÃXPath¶ÁÈ¡XmlÎļþ
Ö®ËùÒÔÒªÒýÈëXPathµÄ¸ÅÄĿµÄ¾ÍÊÇΪÁËÔÚÆ¥ÅäXMLÎĵµ½á¹¹Ê÷ʱÄܹ»×¼È·µØÕÒµ½Ä³Ò»¸ö½ÚµãÔªËØ¡£¿ÉÒÔ°ÑXPath±È×÷Îļþ¹ÜÀí·¾¶£ºÍ¨¹ýÎļþ¹ÜÀí·¾¶£¬¿ÉÒÔ°´ÕÕÒ»¶¨µÄ¹æÔò²éÕÒµ½ËùÐèÒªµÄÎļþ£»Í¬Ñù£¬ÒÀ¾ÝXPathËùÖƶ¨µÄ¹æÔò£¬Ò²¿ÉÒԺܷ½±ãµØÕÒµ½XML½á¹¹ÎĵµÊ÷ÖеÄÈκÎÒ»¸ö½Úµã.
¡¡¡¡²»¹ý£¬ÓÉÓÚXPath¿ÉÓ¦Ó ......
XML¼´extensibe markup languageµÄËõд£¬Ò²¾ÍÊÇ¿ÉÀ©Õ¹±êʶÓïÑÔ¡£ÓÉÓÚÆ俪·ÅÐÔ£¬Ô½À´Ô½¶àµÄÈí¼þ²ÉÓÃËü×÷ΪÃèÊöÓïÑÔ£»ÓÉÓÚÆäƽ̨ÎÞ¹ØÐÔ£¬Ô½À´Ô½¶àµÄϵͳ²ÉÓÃËü×÷ΪÊý¾Ý´«µÝÖн顣¼ÆËã»úÐÐÒµÒѾ°ÑXMLΪÊý¾Ý½»»»µÄ±ê×¼£¬²¢ÌṩÁËÏ൱ÊýÁ¿µÄÖ§³Ö¹¤¾ß¡£µ« ......