2
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);
    }
}

我想要这样的结果:

<span id=sectionLinesDetail> <tr id=123> <td>文本</td> </tr> </span>

但我得到的是这样的

<span id=sectionLinesDetail> 文本</span>

反正有没有跳过验证?

谢谢。

4

1 回答 1

2

AXml 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>
于 2013-05-23T16:12:50.060 回答