Java利用DTD Validation檔案來驗證XML文件內容

XML檔案範例

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE note SYSTEM "sample.dtd">
<note>
  <to>許恭蓋測試是否為UTF-8</to>
  <from>永遠記住2013-12-25</from>
  <heading>標頭</heading>
  <body>測試內容</body>
</note>

DTD檔案範例

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

原始程式碼
參考:http://stackoverflow.com/questions/8699620/how-to-validate-xml-with-dtd-using-java

DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setValidating(true); // 驗證DTD
DocumentBuilder builder = domFactory.newDocumentBuilder();
builder.setErrorHandler(new ErrorHandler() {
    @Override
    public void error(SAXParseException e) throws SAXException {
        // do something more useful in each of these handlers
        e.printStackTrace();
    }
    @Override
    public void fatalError(SAXParseException e) throws SAXException {
        e.printStackTrace();
    }

    @Override
    public void warning(SAXParseException e) throws SAXException {
        e.printStackTrace();
    }
});
org.w3c.dom.Document doc = builder.parse("sample.xml");
廣告

About fenjj

Perfect !!??...
本篇發表於 Uncategorized。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s