0

XMLドキュメントの解析にJDomを使用したアプリケーションに取り組んでいます。

既存のコードは次のとおりです。

private Document openDocumentAtPath(File file) {

        // Create a sax builder for building the JDOM document
        SAXBuilder builder = new SAXBuilder();

        // JDOM document to be created from XML document
        Document doc = null;

        // Try to build the document
        try {

            // Get the file into a single string
            BufferedReader input =  new BufferedReader(
                new FileReader( file ) );
            String content = "";
            String line = null;
            while( ( line = input.readLine() ) != null ) {
                content += "\n" + line;
            }

            StringReader reader = new StringReader( content );
            doc = builder.build(reader);


        }// Only thrown when a XML document is not well-formed
        catch ( JDOMException e ) {
            System.out.println(this.file + " is not well-formed!");
            System.out.println("Error Message: " + e.getMessage());
        } 
        catch (IOException e) {
            System.out.println("Cannot access: " + this.file.toString());
            System.out.println("Error Message: " + e.getMessage());
        }
        return doc;
    }

ここで、 XSDに対してXMLを検証したいと思います。APIを読みましたが、JAXPなどを使用するように指示されていますが、方法がわかりません。

アプリケーションはJDom1.1.1を使用しており、オンラインで見つけた例では、このバージョンでは使用できないクラスを使用しています。特にこのバージョンの場合、XSDに対してXMLを検証する方法を誰かが説明できますか?

4

2 に答える 2

4

JDOM FAQからコードをコピーして貼り付けるのはどうですか?

于 2012-05-09T21:13:31.787 に答える
2

または、JDOM 2.0.1を使用して、次の行を変更します。

SAXBuilder builder = new SAXBuilder();

することが

SAXBuilder builder = new SAXBuilder(XMLReaders.XSDVALIDATING);

JDOM 2.0.1 javadoc(ページ下部の例)を参照してください:http://hunterhacker.github.com/jdom/jdom2/apidocs/org/jdom2/input/sax/package-summary.html

ああ、FAQを更新する必要があります

于 2012-05-09T21:32:48.590 に答える