一个例子:
重要的是这几句: factory.setNamespaceAware(true);
factory.setValidating(true);
factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
factory.setAttribute(JAXP_SCHEMA_SOURCE,file);
...
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXParseException;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import org.xml.sax.ErrorHandler;
...public class DOMBuilderDemo { static final String JAXP_SCHEMA_LANGUAGE =
"http://java.sun.com/xml/jaxp/properties/schemaLanguage";
static final String W3C_XML_SCHEMA =
"http://www.w3.org/2001/XMLSchema";
static final String JAXP_SCHEMA_SOURCE =
"http://java.sun.com/xml/jaxp/properties/schemaSource"; public static void main(String[] args)
{ // Load xml filename and DOM adapter class
String filename = args[0];
org.w3c.dom.Document document = null;
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
try
{
try
{
if (args.length > 1)
{
factory.setNamespaceAware(true);
factory.setValidating(true);
factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); // get the xml-schema file
File file = new File(args[1]);
factory.setAttribute(JAXP_SCHEMA_SOURCE,file);
}
}
catch (IllegalArgumentException ex)
{
//...
}
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(new ValidateHandler());
document = builder.parse(new File(filename));
}
catch (SAXParseException spe)
{
//...
}
catch (SAXException sxe)
{
//...
}
catch (ParserConfigurationException pce)
{
// Parser with specified options can't be built
pce.printStackTrace();
}
catch (IOException ioe)
{
// I/O error
ioe.printStackTrace();
}
...
重要的是这几句: factory.setNamespaceAware(true);
factory.setValidating(true);
factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
factory.setAttribute(JAXP_SCHEMA_SOURCE,file);
...
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXParseException;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;
import org.xml.sax.ErrorHandler;
...public class DOMBuilderDemo { static final String JAXP_SCHEMA_LANGUAGE =
"http://java.sun.com/xml/jaxp/properties/schemaLanguage";
static final String W3C_XML_SCHEMA =
"http://www.w3.org/2001/XMLSchema";
static final String JAXP_SCHEMA_SOURCE =
"http://java.sun.com/xml/jaxp/properties/schemaSource"; public static void main(String[] args)
{ // Load xml filename and DOM adapter class
String filename = args[0];
org.w3c.dom.Document document = null;
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
try
{
try
{
if (args.length > 1)
{
factory.setNamespaceAware(true);
factory.setValidating(true);
factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); // get the xml-schema file
File file = new File(args[1]);
factory.setAttribute(JAXP_SCHEMA_SOURCE,file);
}
}
catch (IllegalArgumentException ex)
{
//...
}
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(new ValidateHandler());
document = builder.parse(new File(filename));
}
catch (SAXParseException spe)
{
//...
}
catch (SAXException sxe)
{
//...
}
catch (ParserConfigurationException pce)
{
// Parser with specified options can't be built
pce.printStackTrace();
}
catch (IOException ioe)
{
// I/O error
ioe.printStackTrace();
}
...
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货