jsoup解析没有验证

时间:2013-05-23 05:02:32

标签: java jsoup

import org.jsoup.Jsoup;
import org.jsoup.nodes.*;
import org.jsoup.select.*;

public class My_Test {
    public static void main(String[] args) throws Exception {
        String xml =    "<span id=sectionLinesDetail>\n" +
                        "       <tr id=123>\n" +
                        "           <td>text</td>\n" +
                        "       </tr>\n" +
                        "</span>";
        Document doc = Jsoup.parse(xml);
        Elements e_span = doc.select("span[id=sectionLinesDetail]");
        System.out.println(e_span);
    }
}

我希望得到这样的结果:

  

&LT; span id = sectionLinesDetail&gt;     &LT; tr id = 123&gt;         &LT; TD&gt;文字&LT; / TD&GT;     &LT; / TR&GT;   &LT; /跨度&GT;

但我得到的是这样的

  

&LT; span id = sectionLinesDetail&gt;     文本   &LT; /跨度&GT;

无论如何都要跳过验证?

感谢。

1 个答案:

答案 0 :(得分:2)

这里需要Xml Parser

您只需将解析行更改为:

Document doc = Jsoup.parse(xml, "", Parser.xmlParser());

我已经改变了你的代码,但事情的重点只是这一行 - 其他一切都很美观。

String xml = "<span id=sectionLinesDetail>\n"
        + "       <tr id=\"123\">\n"
        + "           <td>text</td>\n"
        + "       </tr>\n"
        + "</span>";

Document doc = Jsoup.parse(xml, "", Parser.xmlParser()); // The line as mentioned above
Element span = doc.select("span#sectionLinesDetail").first(); // the '#' means "with id"


System.out.println(span);

<强>输出:

<span id="sectionLinesDetail"> 
 <tr id="123"> 
  <td>text</td> 
 </tr> </span>