代码之家  ›  专栏  ›  技术社区  ›  Ricardo Felgueiras

如何在HTML文件中搜索一些标记?

  •  3
  • Ricardo Felgueiras  · 技术社区  · 16 年前

    我在Java方面有点小问题。

    最好的方法是什么?

    顺致敬意,

    7 回复  |  直到 12 年前
        1
  •  2
  •   Wouter Lievens    16 年前

    您希望将此作为一次性编辑任务,还是需要系统(即代码)实现?在第二种情况下,找到Java HTML解析器实现并遍历DOM树。

    http://java-source.net/open-source/html-parsers

        2
  •  1
  •   HipsterZipster    16 年前

    这是我用来完成您想要做的事情的代码,但是首先让我给您一些提示。

    如果您在Java Swing环境中,请确保使用javax.Swing.text.html和javax.Swing.text.html.parser包中的方法。不幸的是,它们主要用于绝地武士窗格,但我仍然强烈建议您看看这些。

    Java6API中有一个名为HTML.Tag的类,它标识HTML开始和结束标记,然后您可以使用它来确定您希望程序遵循的链接的位置。 http://java.sun.com/javase/6/docs/api/javax/swing/text/html/HTML.Tag.html

    当我编写一个与此非常类似的程序时,我使用了3种主要方法:

    public void handleStartTag(HTML.Tag t, MUtableAttributeSet atts, int pos)
    public void handleEndTag(HTML.Tag t, int pos)
    public void handleText(char[] text, int pos)
    

    如果您需要更多关于如何编写这些方法的帮助,您可以给我发消息,但基本上,您是在寻找初始标记和结束标记,然后从中识别url,然后可以继续下一步,即跟踪url。

    要查看url,我建议您使用JEditorPane对象。javax.swing.event.HyperlinkListener接口只定义了一个方法hyperlinkUpdate(HyperlinkEvent e),您可以将url传递到该方法中,然后在JEditorPane对象上调用.setPage(evt.getURL())。然后,这将使用新页面更新窗格,并允许您再次启动流程。

    如果你有任何问题,请给我发短信,并投票给我这个答案!

        3
  •  0
  •   Community CDub    7 年前
        4
  •  0
  •   Thejesh GN    16 年前

    你可以用 Rhino ,然后加载html文件。加载后,可以使用getElementBy转到任何节点或获取值。

        5
  •  0
  •   alexmeia    16 年前

    如果您的文件是 xhtml文档 ,它是一个标准的xml文档,解析它的基本方法是使用 jdom . JDom功能强大,易于使用和理解。

    htmlparser ,尤其是在课堂上 LinkTag .

        6
  •  0
  •   zuzur zuzur    16 年前

    tagsoup

    //a

    //img

        7
  •  0
  •   Damo    16 年前

    我已经用过了 Neko HTML Parser

    import org.cyberneko.html.parsers.DOMParser;
    import org.w3c.dom.Node;
    
    public class TestParser {
    
         public static void main(String[] argv) throws Exception {
              DOMParser parser = new DOMParser();
              for (int i = 0; i