0

我有一个这样的字符串 html:

> [CDATA[<div><b>index1:</b> <div
> class="ExternalClass4C236C53DAF34307B4580A8DA27FA373"><p>​&lt;/p>
> <div>value1</div> <div></div> <div>value2</div>
> <div></div> <div>value3 </div> <div></div> <div>value4
> </div> <div></div> <div>value5</div> </div></div>
> <div><b>index2:</b> value6</div> <div><b>index3:</b> value8</div>
> <div><b>index4:</b> valu7</div> <div><b>index5:</b>value10</div>

我正在使用 jsoup。

Document doc = Jsoup.parse(description);

元素 el=doc.get.......

我怎样才能得到值字符串?

4

1 回答 1

0

我不知道一个简单的解决方案。您可以选择 div 元素的内容。但是您以这种方式获得了一些您不想要的索引值。

一个硬编码的解决方案是这样的:

public void testParseValue() {
    String html ="[CDATA[<div><b>index1:</b> <div" +
        "> class=\"ExternalClass4C236C53DAF34307B4580A8DA27FA373\"><p>​&lt;/p>" +
        "> <div>value1</div> <div></div> <div>value2</div>" +
        "> <div></div> <div>value3 </div> <div></div> <div>value4" +
        "> </div> <div></div> <div>value5</div> </div></div>" +
        "> <div><b>index2:</b> value6</div> <div><b>index3:</b> value8</div>" +
        "> <div><b>index4:</b> valu7</div> <div><b>index5:</b>value10</div>";

    Document doc = Jsoup.parse(html);

    Elements divs= doc.select("div");

    System.out.println(divs.get(2).text());
    System.out.println(divs.get(4).text());
    System.out.println(divs.get(6).text());
    System.out.println(divs.get(8).text());
    System.out.println(divs.get(10).text());
    System.out.println(divs.get(11).text().substring("index2: ".length()));
    System.out.println(divs.get(12).text().substring("index3: ".length()));
    System.out.println(divs.get(13).text().substring("index4: ".length()));
    System.out.println(divs.get(14).text().substring("index5:".length()));
}

它是用 Java 编写的,因此您可能希望将 System.ou.println 调用更改为 log 调用。您也可以使用“:”字符的位置而不是整个 indexX: 字符串。

于 2013-10-13T13:33:43.640 回答