`
Aubergine_kang
  • 浏览: 264764 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

请懂的帮忙解释一下哈~html解析

阅读更多

private static DocumentFragment parse(InputSource input) throws Exception {
        DOMFragmentParser parser = new DOMFragmentParser();//HTML片段的DOM解析器。
       
        //实现了一个HTML文件。提供对文档中,它的身体和标题顶层元素。

//        几种方法创建所有(注释,文本,元素等),基本类型的新节点。这些方法创建新的节点,但不要放置在文档树上。这些节点可能被放置在文档树使用
        HTMLDocumentImpl doc = new HTMLDocumentImpl();
        try {
            //设置SAX2解析器中的任何功能的状态。
            //设置SAX2解析器中的任何功能的状态。解析器可能无法识别功能,如果它不认识它,它可能无法完成请求。
            parser.setFeature(
                    "http://cyberneko.org/html/features/augmentations", false);//是否将与HTML事件有关的infoset项包括在解析管道中。
            parser.setProperty(
                    "http://cyberneko.org/html/properties/default-encoding",
                    defaultCharEncoding);//IANA encoding names 默认的HTML文件编码
            parser
                    .setFeature(
                            "http://cyberneko.org/html/features/scanner/ignore-specified-charset",
                            true);
            parser
                    .setFeature(
                            "http://cyberneko.org/html/features/balance-tags/ignore-outside-content",
                            false);
            parser
                    .setFeature(
                            "http://cyberneko.org/html/features/balance-tags/document-fragment", 
                            true);
            parser.setFeature(
                    "http://cyberneko.org/html/features/report-errors", false);//是否报告错误
        } catch (SAXException e) {
        }

        doc.setErrorChecking(false);
        DocumentFragment res = doc.createDocumentFragment(); //创建一个空DocumentFragment对象。
        DocumentFragment frag = doc.createDocumentFragment();
       
        //解析一个文档片段
        parser.parse(input, frag);//解析一个文档片段,解析成DocumentFragment对象,放到frag里=================??????????
        System.out.println(frag+"frag");

        //将子节点添加到所有节点的后面
        res.appendChild(frag);
        try {
            while (true) {
                frag = doc.createDocumentFragment();
                parser.parse(input, frag);
                if (!frag.hasChildNodes())
                    break;
                System.out.println(" - new frag, "
                        + frag.getChildNodes().getLength() + " nodes.");
                res.appendChild(frag);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return res;
    }

 

 

 

红色部分输出的是null

上面代码的意思是啥啊

懂得帮我解释一下啊

谢谢啦

分享到:
评论

相关推荐

    专科【电子商务案例分析】~试题(卷)~答案解析.doc

    专科【电子商务案例分析】~试题(卷)~答案解析.doc

    java 解析 html

    在Java编程领域,解析HTML是一项常见的任务,尤其在数据抓取、网页自动化或者信息提取等应用场景中。HTML(HyperText Markup Language)是用于构建网页的标准标记语言,而Java提供了多种库来帮助开发者处理和解析...

    java解析html工具htmlparser的jar包及api文档

    HTMLParser是一个Java库,专为解析HTML而设计。它提供了对HTML文档的解析能力,使得开发者可以方便地处理网页内容,提取有用的信息或者进行数据抓取。这个工具在IT行业中,尤其是在Web开发和数据处理领域,有着广泛...

    Android中解析html网页示例Demo

    在Android开发中,解析HTML网页是一项常见的任务,例如在阅读器、新闻应用或者浏览器中,我们需要提取网页上的信息,如标题、正文、图片链接等。本示例Demo将重点介绍如何在Android环境中解析HTML,主要涉及到的技术...

    XPathHTML解析工具

    用来解析HTML代码,从中提取有用的信息。类似于网络检索

    解析数论基础.pdf

    《解析数论基础》是一本深入探讨解析数论知识的数学教材,其作者是潘氏兄弟,继之前的《初等数论》和《代数数论》作品之后的又一力作,为数论爱好者和研究者提供了一套宝贵的学术资源。 解析数论是数学中研究数的...

    一次开源解析接口,风靡影视界的K哥一次解析接口

    【一次开源解析接口:影视界的热门技术】 在影视行业中,为了获取在线视频资源,开发者们经常需要使用到解析接口。而“K哥一次解析接口”就是这样一个被广泛使用的开源项目,它利用PHP技术实现了对视频链接的一次性...

    ATR解析器,可以解析SIM卡的ATR数据包

    ATR解析器是专门用于分析和解释这些数据包的工具,它可以帮助用户了解SIM卡的特性,并确保通信过程顺利进行。虽然描述中提到这个解析器还没有完成,但我们可以期待它能提供以下功能: 1. **解析ATR结构**:ATR通常...

    基于百度地图的批量地址解析

    将地名信息解析为百度坐标,获得经纬度,坐标系为BD09. 输入包含地址名称的TXT文档,输出为百度坐标文档~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ELF解析工具 v1.7(elf格式解析工具)

    支持全部ELF类型解析。支持32位/64位elf文件自适应解析、可解析elf文件头、程序头、节头、字符表、符号表、hash表、版本定义表、版本依赖表、动态信息表等。 更多详细介绍请访问:...

    初中物理~浮力~知识点总结与练习题集~含答案解析.doc

    初中物理~浮力~知识点总结与练习题集~含答案解析.doc

    C# 表达式解析器源代码(修正)

    在本文中,我们将深入探讨C#中的表达式解析器,特别是在修正了算符优先级错误之后的实现。C#表达式解析器是一个程序,它能够分析输入的字符串表达式,并将其转换为计算机可以理解的形式,以便执行计算或逻辑操作。 ...

    c++解析html

    "c++解析html"的主题聚焦于如何使用C++来解析和操作HTML文档,这在开发网络爬虫、网页渲染或者数据提取等场景中非常有用。 "htmlcxx"是本项目使用的开源库,它是一个C++编写的HTML解析器,允许开发者通过C++代码来...

    数控机床G代码解析demo提取G代码中的各种数据

    对于G代码解析的深入学习,还需要掌握不同数控系统对G代码的解释规则,因为不同的制造商可能有不同的扩展和规定。 总的来说,G代码解析是数控编程中的重要环节,它帮助我们理解复杂的加工流程,优化工艺,提高生产...

    PHP解析器,解析php文件

    3. **编译阶段**:PHP解析器将抽象语法树转换为中间代码,这通常是字节码或类似形式,这样做的目的是为了提高执行效率,因为解释器可以直接理解和执行这种中间代码,而不需要每次运行时都重新解析源代码。...

    IEC104通信规约报文解析及解析软件

    在提供的压缩包文件中,"104规约报文解析.doc"可能包含有对104规约报文结构的详细解释,包括每个字段的含义、报文的编解码规则以及如何通过报文内容获取实际的设备状态信息。用户可以通过阅读这份文档来深入理解104...

    c++期终考试2014~2015年(2)~部分答案解析.doc

    c++期终考试2014~2015年(2)~部分答案解析.doc

    解决Ubuntu域名无法解析方法

    ### 解决Ubuntu域名无法解析的方法详解 在日常的Linux系统管理与使用中,域名解析问题是一种常见的网络故障,尤其在Ubuntu系统中,由于其高度定制化的特性,有时会导致域名解析功能异常,严重影响用户访问互联网...

    使用antlrv3实现sql的解析

    在本主题中,“使用antlrv3实现sql的解析”指的是利用ANTLR v3版本来创建一个解析器,该解析器可以理解并解析SQL语句,特别是针对Oracle和Microsoft SQL Server(MSSQL)的语法。 ANTLR工作原理主要包括以下几个...

    空间解析几何 苏步青

    空间解析几何是数学中一个重要的分支,它主要研究空间中点、线、面以及更复杂几何结构的位置关系和数量关系。苏步青、华宣积、忻元龙和张国梁编著的《空间解析几何》是该领域内一本经典教材,由上海科学技术出版社...

Global site tag (gtag.js) - Google Analytics