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);
Ïà¹ØÎĵµ£º
ÁκéÁÁ 2010/4/13
¸ÅÊö
ÔÚʵ¼ÊµÄÏîÄ¿ÖУ¬¿ÉÄÜ»áÓöµ½ÕâÑùµÄÎÊÌ⣺A·þÎñÆ÷ÉϵÄÓ¦ÓóÌÐòÐèÒª·ÃÎÊB·þÎñÆ÷ÉϵÄaccessÊý¾Ý¿â(¿ÉÒÔʹÓÃÐéÄâ»úÄ£ÄâA¡¢B·þÎñÆ÷½øÐвâÊÔ)¡£¶øaccessÊý¾Ý¿âÊÇÎļþÀàÐ͵쬲»Í¬¼ÆËã»ú¼äÐèÒªÖ¸¶¨Îļþ·ÃÎÊȨÏÞ£¬Ôö¼ÓÁ˳ÌÐòµÄ¸´ÔÓ¶È¡£±¾ÎĽ«´ÓÒ»¸öʵÀýÀ´½éÉÜÒ»ÖÖ¼òµ¥ÊµÓõķ½·¨¡£¸ÃʵÀýʹÓõķ½·¨À´×ÔInte ......
ÀûÓÃXPath¶ÁÈ¡XmlÎļþ
Ö®ËùÒÔÒªÒýÈëXPathµÄ¸ÅÄĿµÄ¾ÍÊÇΪÁËÔÚÆ¥ÅäXMLÎĵµ½á¹¹Ê÷ʱÄܹ»×¼È·µØÕÒµ½Ä³Ò»¸ö½ÚµãÔªËØ¡£¿ÉÒÔ°ÑXPath±È×÷Îļþ¹ÜÀí·¾¶£ºÍ¨¹ýÎļþ¹ÜÀí·¾¶£¬¿ÉÒÔ°´ÕÕÒ»¶¨µÄ¹æÔò²éÕÒµ½ËùÐèÒªµÄÎļþ£»Í¬Ñù£¬ÒÀ¾ÝXPathËùÖÆ¶¨µÄ¹æÔò£¬Ò²¿ÉÒԺܷ½±ãµØÕÒµ½XML½á¹¹ÎĵµÊ÷ÖеÄÈκÎÒ»¸ö½Úµã.
¡¡¡¡²»¹ý£¬ÓÉÓÚXPath¿ÉÓ¦Ó ......
string file = "c:\\work.xml";
private void btnCearte_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
  ......
ÒÑÖªÓÐÒ»¸öXMLÎļþ£¨bookstore.xml£©ÈçÏ£º
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
<price>5.95</price>
</book>
< ......
declare @XML XML
SET @XML='<root>
<OLDVALUE>
<H_Action id="1130">030</H_Action>
<D_Action>030</D_Action>
<OrderCompany>00220</OrderCompany>
<OrderNumber>10004035</OrderNumber> ......