用JSoup解析Java中输入字段大小的HTML

用JSoup解析Java中输入字段大小的HTML,java,jsoup,Java,Jsoup,我正试图解析一个系统中的错误文件,该文件是用HTML呈现给我的。我不觉得它很漂亮,但这是我必须处理的问题 错误以代码表示,我可以在基于集合和消息id的目录中找到对这些代码的引用 <HTML> <BODY> <h4>2020-07-16 10:24:22.614</h4> <SPAN STYLE="color:black; font:bold;">&nbsp;&nbsp;Set:<INPUT TY

我正试图解析一个系统中的错误文件,该文件是用HTML呈现给我的。我不觉得它很漂亮,但这是我必须处理的问题

错误以代码表示,我可以在基于集合和消息id的目录中找到对这些代码的引用

<HTML>
<BODY>
<h4>2020-07-16 10:24:22.614</h4>
<SPAN STYLE="color:black; font:bold;">&nbsp;&nbsp;Set:<INPUT TYPE="text" VALUE="158" SIZE=3</INPUT>&nbsp;&nbsp;Id: <INPUT TYPE="text" VALUE="10420" SIZE=5</INPUT>
</SPAN>
</BODY>
</HTML>

有人有想法吗?

您可以选择具有
SIZE
属性的输入字段,该属性包含
3
5
值,方法如下:

public static void main(String[] args){
    String html = "<HTML>\n"
            + "<BODY>\n"
            + "<h4>2020-07-16 10:24:22.614</h4>\n"
            + "<SPAN STYLE=\"color:black; font:bold;\">&nbsp;&nbsp;Set:<INPUT TYPE=\"text\" VALUE=\"158\" SIZE=3</INPUT>&nbsp;&nbsp;Id: <INPUT TYPE=\"text\" VALUE=\"10420\" SIZE=5</INPUT>\n"
            + "</SPAN>\n"
            + "</BODY>\n"
            + "</HTML>";
    Document doc = Jsoup.parse(html);
    Element time = doc.selectFirst("h4");
    Element set = doc.selectFirst("INPUT[SIZE*=3]");
    Element id = doc.selectFirst("INPUT[SIZE*=5]");
    
    System.out.println(time.text());
    System.out.println(set.attr("value"));
    System.out.println(id.attr("value"));
}
publicstaticvoidmain(字符串[]args){
字符串html=“\n”
+“\n”
+“2020-07-16 10:24:22.614\n”

+“设置:您可以通过如下操作选择具有
SIZE
属性的输入字段,该属性包含
3
5

public static void main(String[] args){
    String html = "<HTML>\n"
            + "<BODY>\n"
            + "<h4>2020-07-16 10:24:22.614</h4>\n"
            + "<SPAN STYLE=\"color:black; font:bold;\">&nbsp;&nbsp;Set:<INPUT TYPE=\"text\" VALUE=\"158\" SIZE=3</INPUT>&nbsp;&nbsp;Id: <INPUT TYPE=\"text\" VALUE=\"10420\" SIZE=5</INPUT>\n"
            + "</SPAN>\n"
            + "</BODY>\n"
            + "</HTML>";
    Document doc = Jsoup.parse(html);
    Element time = doc.selectFirst("h4");
    Element set = doc.selectFirst("INPUT[SIZE*=3]");
    Element id = doc.selectFirst("INPUT[SIZE*=5]");
    
    System.out.println(time.text());
    System.out.println(set.attr("value"));
    System.out.println(id.attr("value"));
}
publicstaticvoidmain(字符串[]args){
字符串html=“\n”
+“\n”
+“2020-07-16 10:24:22.614\n”

+“Set:FYI,您的html有错误(例如,
它来自一个软件。我正在尝试对重要错误自动发出警报。我同意,这些html错误不是很有帮助……那么,我担心您需要在将输入数据馈送给jsoup之前清除它们。FYI,您的html有错误(例如,
它来自一个软件。我正在尝试对重要错误自动发出警报。我同意,这些HTML错误没有多大帮助……那么,我担心您需要在将输入数据馈送给jsoup之前清除它们。
public static void main(String[] args){
    String html = "<HTML>\n"
            + "<BODY>\n"
            + "<h4>2020-07-16 10:24:22.614</h4>\n"
            + "<SPAN STYLE=\"color:black; font:bold;\">&nbsp;&nbsp;Set:<INPUT TYPE=\"text\" VALUE=\"158\" SIZE=3</INPUT>&nbsp;&nbsp;Id: <INPUT TYPE=\"text\" VALUE=\"10420\" SIZE=5</INPUT>\n"
            + "</SPAN>\n"
            + "</BODY>\n"
            + "</HTML>";
    Document doc = Jsoup.parse(html);
    Element time = doc.selectFirst("h4");
    Element set = doc.selectFirst("INPUT[SIZE*=3]");
    Element id = doc.selectFirst("INPUT[SIZE*=5]");
    
    System.out.println(time.text());
    System.out.println(set.attr("value"));
    System.out.println(id.attr("value"));
}