2015-04-17 72 views
0

我需要用Java解析HTML页面来检索一些数据。用Java解析HTML

例如,从incoming.html

<html> 
<head> 
    <title>TITLE</title> 
    <meta name="some name" content="some content" /> 
    <link type=".." title=".." rel=".." href="link" /> 
    <script type="text/javascript">..</script> 
</head> 
    <body> 
     <!--googleoff:all--> 
    <img src="image.jpg"/> 
    <div class="div1"></div> 
    <div class="Logo"><a href="/"><img src="logo.png"/></a></div> 
    <div class="div2"></div> 
    <ul> 
     <li class=".."><a href="/”>a</a></li> 
     <li class=".."><a href="/”>b</a></li> 
    </ul> 

    <div class="div1"></div> 
    <div class="Logo"><a href="/"><img src="other.png"/></a></div> 
    <div class=”div2”></div> 

    <ul> 
     <li class=".."><a href="/”>a</a></li> 
     <li class=".."><a href="/”>b</a></li> 
    </ul> 
     <!--googleon:all--> 
    </body> 
</html> 

我需要接受outcoming.html

<html> 
<head> 
    <title>TITLE</title> 
    <meta name="some name" content="some content" /> 
    <link type=".." title=".." rel=".." href="link" /> 
    <script type="text/javascript">..</script> 
</head> 
<body> 
    <div class="Logo"><a href="/"><img src="other.png"/></a></div> 
    <div class=”div2”></div> 
</body> 
</html> 

问题的目的:

如何从2选择等于标记,只有他们的内容有区别。

在我的情况,我有两个标签:

<div class="Logo"><a href="/"><img src="logo.png"/></a></div> 

<div class="Logo"><a href="/"><img src="other.png"/></a></div> 

,但我只需要标签,其中src="other.png"

你认为做的最好方法是什么?

+6

看看[JSoup](http://jsoup.org/) –

+1

你到目前为止尝试了什么? –

+0

您的HTML样本对我没有意义。你想用他们做什么? – JonasCz

回答

2

您可以使用库JSoup。

这里是链接http://jsoup.org/

这是非常简单易用。这里有个简单的例子。

String html = "<div><p>Lorem ipsum.</p>"; 
Document doc = Jsoup.parseBodyFragment(html); 
Element body = doc.body();