【问题标题】:How to parse img tag and ul tag in java using htmlparser?java - 如何使用htmlparser解析java中的img标签和ul标签?
【发布时间】:2013-06-07 05:15:09
【问题描述】:

我想用 htmlparser 解析以下内容。我为标题编写了代码,它的工作正常。我尝试了以下标签,但没有任何效果。请帮助我第一次做这种编程。 1) 我想从 img 标签中检索 img src url

<div id="images">
<img src="../images/abc.jpg" align="right" style="padding-right:5px;"> 

2) 我想检索&lt;li&gt; 标签之间的文本内容。

<ul>
    <li>hello</li>
    <li>how r u?</li>
    <li>bye</li>
   </ul>

我尝试了以下代码来检索 img 标签 src url。但是它抛出了 nullpointer 异常。

 Parser parser=new Parser();
 HasAttributeFilter imgfil=new HasAttributeFilter("align","right");
 NodeList img=parser.parse(imgfil);
 Node node1=img.elementAt(0);
 ImageTag tg=(ImageTag) node1;
 String url=tg.getText();
 System.out.println(url);

我也尝试过关注 sn-p。但没有任何效果。

 NodeList img=parser.extractAllNodesThatMatch(new AndFilter(new TagNameFilter("img"),new HasAttributeFilter("align","right")));
          SimpleNodeIterator iterate=img.elements();
          while (iterate.hasMoreNodes()) 
          {
          Node node1 = iterate.nextNode();
          ImageTag tag = (ImageTag)node1;
          System.out.println(tag.getImageURL());
          }

【问题讨论】:

    标签: java html html-parsing html-parser


    【解决方案1】:

    如果更正,您尝试的第二段代码将起作用。第一行有问题:

    NodeList img=parser.extractAllNodesThatMatch(new AndFilter(new TagNameFilter("img"),new HasAttributeFilter("align","right")));
    

    我想我知道如何解决这个问题。你不使用 parser.extractAllNodesThatMatch(),使用 parser.parse() 看看是否有帮助。

    这是我的意思的一个例子:

    NodeFilter filter1 = new AndFilter(new TagNameFilter("IMG"), new HasParentFilter(new HasAttributeFilter("id", "featured_story_1"), true));
    NodeList list = parser.parse(filter1);
    
    for(int i = 0; i < list.size(); i++)
    {
        Node node = list.elementAt(i);
        ImageTag image = (ImageTag)node;
        System.out.println(image.getImageURL());
    }
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2018-10-23
      • 2013-11-25
      • 1970-01-01
      • 2014-06-06
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      • 2012-10-05
      相关资源
      最近更新 更多