由于html文件不是标准的xml文件
比如:
<OBJECT type="text/site properties">
<param name="Window Styles" value="0x800025">
<param name="comment" value="title:Online Help">
<param name="comment" value="base:index.htm">
</OBJECT>
<param>标签不是成对出现的,所以用dom4j是不能解析的
解决方法:
利用cobra.jar架包先把html文件解析成org.w3c.dom.Document类型的dom
然后利用dom4j的方法
DOMReader xmlReader = new DOMReader();
xmlReader.read(org.w3c.dom.Document document)
代码:
UserAgentContext uacontext = new SimpleUserAgentContext();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
InputStream in = new FileInputStream("F:/iKnow/chmimport/U2000FAQ_WebHome_123/U2000.hhc");
Reader reader = new InputStreamReader(in, "GBK");
org.w3c.dom.Document document = builder.newDocument();
// Here is where we use Cobra's HTML parser.
HtmlParser parser = new HtmlParser(uacontext, document);
parser.parse(reader);
DOMReader xmlReader = new DOMReader();
System.out.println(xmlReader.read(document).asXML());
还有一个jsoup
http://www.ibm.com/developerworks/cn/java/j-lo-jsouphtml/
分享到:
相关推荐
5. **转换和序列化**:DOM4J可以将XML文档转换为其他格式,如HTML或者DOM,也可以将XML对象序列化回字符串或文件。 6. **文档结构**:DOM4J的Document、Element、Attribute、Namespace等类提供了清晰的文档结构表示...
4. **XML文档转换**:DOM4J可以将XML文档转换为其他格式,如Java对象、HTML或JSON。 5. **集成性**:DOM4J与Spring、Hibernate等框架有良好的集成,方便在企业级应用中使用。 在实际开发中,DOM4J常用于读取XML...
5. **转换和序列化**:DOM4J可以将XML文档转换为其他格式,如HTML、DOM或流,也可以将Java对象序列化为XML。 6. **XPath表达式操作**:DOM4J提供了XPath编译和执行的能力,允许开发者动态构建和执行XPath表达式,...
5. **转换XML到其他格式**:DOM4J可以将XML转换为Java对象,也可以将Java对象转换为XML,实现了数据的双向绑定。 6. **性能优化**:DOM4J提供了缓存机制和性能优化策略,以提高处理大量XML数据时的效率。 7. **...
9. **转换功能**:DOM4J能够将XML文档转换成其他格式,如HTML或Text,也可以将对象模型转换回XML字符串。 10. **IO操作**:DOM4J提供了一套简单的API来读写XML文件,支持流式处理,可以高效地处理大文件。 总结来...
6. **与JAXB集成**:dom4j可以与Java的XML绑定框架JAXB集成,实现XML与Java对象之间的自动转换,简化数据交换。 7. **性能与效率**:尽管dom4j基于DOM模型,但其设计考虑了性能优化,对于中等大小的XML文档,性能...
- DOM4J API.CHM文件很可能是DOM4J的官方帮助文档,包含了详细的API参考、示例代码和使用指南,对于学习和使用DOM4J非常有帮助。 5. **使用CHM文件** - 双击CHM文件,通常会用默认的浏览器打开,用户可以通过目录...
7. **XPath 和 XSLT**: 除了基本的XML操作,DOM4J还集成了XPath查询和XSLT转换,允许开发者进行复杂的XML数据处理。 8. **API 文档**: `javadoc.html`是JavaDoc的主页面,提供了所有DOM4J类和接口的索引。`javadoc-...
"dom4j的api文档 html版 rar" 指的是一份关于dom4j库的API文档,以HTML格式呈现,并且被压缩在RAR文件中。RAR是一种常见的文件压缩格式,用于存储多个相关文件在一个单一的、可压缩的档案中。 **描述分析:** 描述...
DOM4J是一个非常流行的Java库,专门用于处理XML文档。它提供了一套全面且强大的API,使得XML的读取、创建、修改以及遍历变得更加简单。DOM4J的名字来源于“Document Object Model for Java”,它是基于Java对象模型...
3. **dom4j-2.0.0-ALPHA-2.jar**:这是DOM4J库的主要二进制文件,包含了编译后的类,可以直接在Java项目中引用以实现XML处理的功能。 **DOM4J库关键知识点** DOM4J是一个开源的Java库,主要用于XML、XPath和XSLT...
`SAXReader`是一个高效的XML解析器,它能够将XML文件解析为DOM4J的`Document`对象。`Document`对象是DOM4J中表示XML文档的核心对象,提供了多种方法来访问和修改XML数据。 #### DOM4J与XPath DOM4J的强大之处在于...
8. **转换和序列化**:DOM4J提供了XML到其他格式(如HTML或Text)的转换,并且可以将XML文档序列化为字节流或文件。 在实际应用中,`dom4j-1.6.1.jar`这个文件是DOM4J库的特定版本,包含了所有DOM4J的功能。当你在...
4. **转换与序列化**:DOM4J可以将XML文档转换为其他格式,如HTML或Text,同时也可以将对象序列化为XML,实现数据的持久化。 5. **文档操作**:DOM4J提供了易于使用的API来创建、修改XML文档。例如,可以添加新的...
4. **易于集成**:DOM4J与许多其他Java库如JAXB、XStream等兼容,便于XML与其他数据格式的转换。 **DOM4J与DOM的对比** 1. **内存占用**:DOM4J通常占用更少的内存,因为它在解析XML时采用了一些优化策略。 2. **...
DOM4J 提供了将XML文档转换为其他格式(如HTML、DOM或SAX事件)的能力,以及将XML对象序列化为字符串或写入文件的功能。这使得在不同的XML处理技术之间进行数据交换变得简单。 **5. 编辑与修改** DOM4J 为XML文档...
5. **转换(Transformation)**:DOM4J支持XSLT转换,可以将XML文档转换成其他格式,如HTML或PDF。 6. **集合(Collection)API**:DOM4J的API设计得像Java集合框架一样,使得操作XML文档就像操作Java对象一样简单...
标题中的"dom4j-2.1.1.zip"是指DOM4J库的2.1.1版本的压缩包,包含了一个名为"dom4j-2.1.1.jar"的核心库文件,这是开发者在项目中引入DOM4J时所需要的主要依赖。 XML(eXtensible Markup Language)是一种用于标记...
Java DOM4J是一个轻量级、高性能且功能丰富的XML处理库,它提供了全面的XML解决方案,包括解析、生成、操作和转换XML文档。DOM4J是基于Java API的,其名称中的“DOM”指的是文档对象模型(Document Object Model),...
6. **XPath和XSLT转换**:除了基本的XML操作,DOM4J还能配合XPath执行XSLT(eXtensible Stylesheet Language Transformations)转换,实现XML到XML或XML到其他格式(如HTML)的转换。 7. **JAXB集成**:虽然DOM4J...