2012-12-29 59 views
0

我用Jsoup摆脱网络的元素:如何使用Jsoup从标签元素中检索字符串?

Elements addresses = doc.select("address > div"); 

,结果是这样的:

<address> 
    <div> 
    7135 S Kingery Hwy<br>Willowbrook, IL 60527 
</div> 
<div class="phone"> 
     (630) 288-6635 
</div> 
</address> 

我有一个很难检索来自标签的地址。我用一个文本()方法:

for (Element address : addresses) { 
    Log.i("addresses", address.text()); 
} 

,其结果是:

7135 S Kingery Hwy Willowbrook, IL 60527 
(630) 288-6635 

如何过滤它只是检索地址,并与换行符替换BR标签?预期结果:

7135 S Kingery Hwy 
Willowbrook, IL 60527 
+0

大声笑。示例HTML和结果部分不匹配。您的要求会通过,但我认为让它们匹配会更好。 – nhahtdh

+0

:)我复制了错误的行。谢谢。 –

+0

address.child(0).text()不这样做? – ccleve

回答

1

你可以试试这个,

Elements addresses = doc.select("address > :not(div[class=phone])"); 
    for (Element address : addresses) { 
     for (Node node : address.childNodes()) { 
      if (node.nodeName().equals("br")) { 
       continue; 
      } 
      String text = node.toString().trim(); 
      System.out.println(text); 
     } 
    } 
相关问题