2012-04-06 19 views
0

ExamXML.compareXMLString(s1、s2); XMLコードを比較するときにJavaコードで例外が発生する

java.lang.ClassCastException: org.apache.xerces.parsers.AbstractSAXParser$LocatorProxy cannot be cast to org.xml.sax.ext.Locator2 
    at com.a7soft.examxml.ExamXMLHandler.setDocumentLocator(ExamXMLHandler.java:215) 
    at org.apache.xerces.parsers.AbstractSAXParser.startDocument(Unknown Source) 
    at org.apache.xerces.impl.xs.XMLSchemaValidator.startDocument(Unknown Source) 
    at org.apache.xerces.impl.dtd.XMLDTDValidator.startDocument(Unknown Source) 
    at org.apache.xerces.impl.XMLDocumentScannerImpl.startEntity(Unknown Source) 
    at org.apache.xerces.impl.XMLVersionDetector.startDocumentParsing(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) 
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) 
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
    at com.a7soft.examxml.ExamXMLHandler.loadXML(ExamXMLHandler.java:111) 
    at com.a7soft.examxml.ExamXML.loadXML(ExamXML.java:246) 
    at com.a7soft.examxml.ExamXML.parseXMLTags(ExamXML.java:262) 
    at com.a7soft.examxml.ExamXML.compareXMLString(ExamXML.java:281) 
    at com.happyelements.odin.monster.Main.main(Main.java:55) 

null 

がどのように私はこの問題を解決することができます

フラグメント・コードが

static public void main(String[] argv) throws IOException { 

    String s1 = readFile("src/main/resources/file1.xml"); 
    String s2 = readFile("src/main/resources/file2.xml"); 

    String s = ExamXML.compareXMLString(s1, s2); 
    System.out.println(s); 

} 

実行結果があるのですか?

+0

Main.javaコードは、エラーが発生したと思われる場所に投稿してください。 –

+0

ここにエラーがあると思います。ExamXMLHandler.java:215 – jordeu

答えて

4

私はこの問題の解決方法を持っています。

System.setProperty("javax.xml.parsers.SAXParserFactory", 
     "com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl"); 

ありがとうございます!

+0

ありがとう、ありがとうございました。できます。 –

+1

@Andrew Lapickこれで問題が解決した場合は、アップホートして回答を受け入れることができますか? –

関連する問題