【问题标题】:Removing tags using Jsoup library使用 Jsoup 库删除标签
【发布时间】:2014-01-08 01:12:54
【问题描述】:

我需要删除不需要的标签..谁能指导我如何处理它..这是我的代码

public class Test {

    static String val = "<div class=vcard><div class=label>Category: </div><span class=category><a title=Chemicals Manufacturers href=http://www.gmdu.net/list-5-p1.html>Chemicals</a>- <a title=Textile Chemicals Manufacturers href=http://www.gmdu.net/list-5-273-p1.html>Textile Chemicals</a></span><br/><div class=label>Region: </div><span class=adr country-name><a title=Sri Lanka Manufacturers href=http://www.gmdu.net/loca-35-p1.html>Sri Lanka</a></span><span class=fn org>Haycolour (Pvt) Ltd</span><br/></div>";

    public static void main(String a[]) throws IOException
    {
         Document doc = Jsoup.parse(val);
            Elements labels = doc.select("div.vcard div.label");
            for (Element label : labels) {
                System.out.println(String.format("%s:%s", label.text().trim(),label.nextSibling().outerHtml()));
            }
    }
}

我的输出:

Category::<span class="category"><a title="Chemicals" manufacturers="" href="http://www.gmdu.net/list-5-p1.html">Chemicals</a>- <a title="Textile" chemicals="" manufacturers="" href="http://www.gmdu.net/list-5-273-p1.html">Textile Chemicals</a></span>
Region::<span class="adr" country-name=""><a title="Sri" lanka="" manufacturers="" href="http://www.gmdu.net/loca-35-p1.html">Sri Lanka</a></span>

预期输出:

Category:Chemicals - Textile Chemicals
Region:Sri Lanka Haycolour (Pvt) Ltd

【问题讨论】:

    标签: java jakarta-ee jsoup


    【解决方案1】:

    我发现使用 jSoup 的 nextElementSibling 最容易做到这一点

    我用这个替换了你的 println 语句:

    System.out.println(String.format("%s:%s %s", label.text().trim(),label.nextElementSibling().text().trim(),
    label.nextElementSibling().nextElementSibling().text().trim()));
    

    产生了这个输出:

    Category::Chemicals- Textile Chemicals 
    Region::Sri Lanka Haycolour (Pvt) Ltd
    

    【讨论】:

    • MagicMan:if 化学品 - text 化学品是动态的..如何检查下一个兄弟姐妹是否存在..你能指导我
    • @Giridharan 不确定你所说的动态是什么意思,但你可以随时检查 nextElementSibling() 是否为空:if (label.nextElementSibling() != null) {//do work}
    • 魔术师:你能帮我得到这个的输出吗..我正在处理这个问题..stackoverflow.com/questions/20975965/…
    • @Giridharan 你能把它标记为正确吗?如果不是,这个问题还有什么没有答案?
    猜你喜欢
    • 2020-07-23
    • 2011-11-09
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多