2013-12-17 33 views
1

我有一個錯誤htmlparsing。 我認爲問題源於引號DjNative language = javascript error language =「javascript」我嘗試所有版本的Dj本機庫DJ原生swing jwebbrowser html解析錯誤

[致命錯誤]:2:18:預計打開引用的屬性爲「{1 }「與元素類型」language「關聯。 org.xml.sax.SAXParseException; lineNumber:2; columnNumber:18;對於與元素類型「language」關聯的屬性「{1}」,預計打開報價。 在com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(未知來源) 在com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(未知來源)

private Document HTMLtoXML(String source) 
{ 
Document doc = null; 
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
    DocumentBuilder builder; 
    try { 
     builder = factory.newDocumentBuilder(); 
     InputSource src = new InputSource(new StringReader(source)); 
     doc = builder.parse(src); 
    } catch (ParserConfigurationException e) { 
     e.printStackTrace(); 
    } catch (SAXException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
return doc; 
} 

public void StartTakip() 
{ 
    String htmlSource=webbrowser.getHTMLContent(); 
    dc = HTMLtoXML(htmlSource); 

} 

當我嘗試通過DJNative搖擺HTML頁面來獲得網頁源代碼

<HTML> 
<HEAD> 
<SCRIPT language=javascript src="/medula/scripts/capFirstLetters.js"></SCRIPT> 
<TITLE>deneme</TITLE> 
</HEAD> 
<BODY bgcolor=#233333> 
</BODY> 
</HTML> 

如果像下面源,HTML解析是工作做好

<HTML> 
<HEAD> 
<SCRIPT language="javascript" src="/medula/scripts/capFirstLetters.js"></SCRIPT> 
<TITLE>deneme</TITLE> 
</HEAD> 
<BODY bgcolor="#233333"> 
</BODY> 
</HTML> 

回答

0

我解決這個問題與Jsoup-1.7.3.jar 例如:

JWebBrowser jwebbrowser=new Jwebbrowser(); 
    Document doc=Jsoup.parse(jwebbrowser.getHTMLContent);