【问题标题】:Jsoup parsing from StringJsoup 从字符串解析
【发布时间】:2014-01-13 10:11:13
【问题描述】:

我是使用 Jsoup 的新手,我在从 div 中获取文本值时遇到问题,其中类名文本作为字符串。 这是 a 想要废弃的字符串。

<body>
 <div class="details "> 
  <div class="title turquoise2">
    AAC-Olympia 
  </div> 
  <div class="subhead turquoise2">
    Correspondentie-adres: 
  </div> 
  <div class="text">
    Rijdt 37 
   <br /> 6631AP HORSSEN 
   <br /> 0487-541339 
  </div> 
  <div class="subhead turquoise2">
    Accommodatie: 
  </div> 
  <div class="text">
    Sportpark De Polenkamp 
   <br /> Bredestraat 3 
   <br /> 6631BC HORSSEN 
   <br /> 0487-541339 
  </div> 
  <div class="subhead turquoise2">
    Opgericht: 
  </div> 
  <div class="text">
    01-07-2011 
  </div> 
  <div class="subhead turquoise2">
    Tenue: 
  </div> 
  <div class="text">
    Shirt: Wit 
   <br /> Broek: Zwart 
   <br /> Kousen: Zwart 
  </div> 
  <div class="subhead turquoise2">
    Regio: 
  </div> 
  <div class="text">
    Veldregio: Regio 4 veld 
   <br /> Zaalregio: 
  </div> 
  <div class="subhead turquoise2">
    Info: 
  </div> 
  <div class="text">
    Relatienummer: NXTG36Z 
   <br /> Email: 
   <a href="mailto:janberg37@Caiway.nl">janberg37@Caiway.nl</a> 
   <br /> Website: 
   <a href="http://www.aac-olympia.nl">http://www.aac-olympia.nl</a> 
   <br /> District: Oost 
  </div> 
  <div class="subhead turquoise2">
    Klasse(s): 
  </div> 
  <div class="text">
    Klasse za: 
   <br /> Klasse zon: 5e klasse 
   <br /> Klasse zaal: 
   <br /> Junioren: Nee 
   <br /> Pupillen: Nee 
   <br /> Vrouwen: Nee 
   <br /> G-Voetbal: Nee 
  </div> 
  <div class="text"> 
   <a href="http://downloadcentrum.knvb.nl/sportlink/knvb/document/matrix%20verenigingen%20district%20oost?id=55988">Overzicht indeling district Oost</a> 
  </div> 
 </div> 
 <div class="details details-functionaris"> 
  <div class="title turquoise2">
    AAC-Olympia 
  </div> 
  <div class="voorzitter"> 
  </div> 
  <div class="secretaris"> 
  </div> 
  <div class="penningmeester"> 
  </div> 
  <div class="functionarissen"> 
  </div> 
 </div>
</body> 

我想从第二个 div 中获取带有类名文本的单独信息,我尝试了以下代码但给了我空字符串,

Element Adres = finalDocument.getElementsByClass("text").get(1);
 String AllTextValue = Adres.text();//This give me all information from the div 

但我希望将所有 4 个文本值分开,

String firstText =  For this one i have no ieee what i need to do
  String SecondText = Adres.getElementsByTag("br").get(0).text();//Returns Empty value
  String ThirdText  = Adres.getElementsByTag("br").get(1).text();//Returns Empty value
  String FourthText = Adres.getElementsByTag("br").get(2).text();//returns Empty value

谁能帮帮我。 非常感谢。

【问题讨论】:

    标签: java jsoup


    【解决方案1】:

    Elements 实现了List 接口,所以只需使用:

    Elements Email = finalDocument.getElementsByTag("a");
    String emailAddress = Email.get(0).text();
    

    Elements 对象命名为Email 有点误导。我会推荐以下重构代码:

    Elements anchors = finalDocument.getElementsByTag("a");
    String email = anchors.get(0).text();
    

    【讨论】:

    • 非常感谢它的工作完美,我可以再问你一个想法,我也在尝试获得第二个
      信息,你也可以看到这个文件有一个属性值为“text”的 div 类很多,如何选择要使用哪个 div 类从该文件中获取信息?
    • 我刚刚做了 Element Adres = finalDocument.getElementsByClass("text").get(1);我认为这是获得第二个 div 的好方法,谢谢您的帮助。
    • 很高兴我能帮上忙。抱歉,我被拉走了,没有看到您对问题的关注。看来您可以使用类似于我的答案(使用列表)的方法来解决它。如果这解决了您的问题,您会考虑接受吗?
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签