2014-03-27 3 views
0

Я пытаюсь разобрать html-ответ, который находится в формате xml.Создатель документа из xml дает ошибку

 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
     DocumentBuilder builder = factory.newDocumentBuilder(); 
     InputStream in = new FileInputStream(htmlresponse); 
     InputSource inputSource = new InputSource(new InputStreamReader(in)); 
     Document xmlDocument = builder.parse(inputSource); //Error is here 

Однако я получаю сообщение об ошибке, о которой я прокомментировал.

Error - "the method parse(InputStream) in the type DocumentBuilder is not applicable for the arguments (InputSource)" 

ответ

0

Модифицированный код, попробуйте этот

String xml = "<test>this is a test xml</test>"; 
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder builder = factory.newDocumentBuilder(); 
    Document xmlDocument = builder.parse(new InputSource(new StringReader(xml))); 
+0

еще раз «Метод parse (InputStream) в типе DocumentBuilder не применим для аргументов (InputSource)» – Harshit

+0

Метод parse() может принимать либо InputSource, либо InputStream в качестве аргумента в Java7 http://docs.oracle.com /javase/7/docs/api/javax/xml/parsers/DocumentBuilder.html. Какую версию Java вы используете? – Jay

+0

1.6.0_27. Также во время затмения, когда я указываю на ошибку для возможных решений, в ней говорится, что «Переименовать в файл» – Harshit

2

Я была такая же проблема.
Для меня проблема возникла из-за плохого импорта класса InputSource.
Итак, я импортировал jdk.internal.org.xml.sax.InputSource вместо org.xml.sax.InputSource. С org.xml.sax.InputSource проблема решена.

Смежные вопросы