Utilice la API de JDK para analizar archivos XML.
Nota: los archivos de restricción XML son de tipo dtd
import org.w3c.dom.Document;
import org.xml.sax.ErrorHandler;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
public class XPathParser {
public static void main(String[] args) {
String file = "???.xml";
InputStream is = null;
try {
is = new FileInputStream(file);
Document doc = createDocument(is);
System.out.println(doc);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != is) {
try {
is.close();
} catch (IOException e) {
// ignore
}
}
}
}
private static Document createDocument(InputStream inputStream) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setValidating(true); // 开启校验
factory.setIgnoringComments(true); // 忽略注释
DocumentBuilder builder = factory.newDocumentBuilder();
builder.setErrorHandler(new ErrorHandler() {
public void error(SAXParseException exception) throws SAXException {
throw exception;
}
public void fatalError(SAXParseException exception) throws SAXException {
throw exception;
}
public void warning(SAXParseException exception) {
// ignore
}
});
InputSource inputSource = new InputSource(inputStream);
return builder.parse(inputSource);
}
}