`
yaozuodaoforfly
  • 浏览: 117723 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

怎样把html文件转换成标准的DOM4j的DOM

 
阅读更多
由于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/
分享到:
评论
7 楼 jenal 2012-06-07  
呵呵,已经实现了啊,谢谢哦~
6 楼 jenal 2012-06-01  
像这样的标签<img src="images/list_62.gif" width="535"/>,不可以转化成标签成对出现的。我试过了,有没有一种方法,像上面的标签也可以转换?
5 楼 yaozuodaoforfly 2012-05-23  
还有通过这种方法把html转换成xml后标签都是成对出现的 我试过了
4 楼 yaozuodaoforfly 2012-05-23  
UserAgentContext是cobra.jar架包中的类
3 楼 jenal 2012-05-23  
请问上述代码中UserAgentContext是不是定义的一个类?我将HTML文件转换成的XML,不是标准的,标签不是成对出现的,而是以"/>"结尾。怎么样才能转换成标准的XML文件?你能不能把思路给我讲解一下?谢谢哦~
2 楼 yaozuodaoforfly 2012-05-23  
我这是公司内网  发表文章是有字数限制的  所以 完整的代码发布不出去,上边的代码基本上夜就是完整的了 你稍做修改 就能用
1 楼 jenal 2012-05-22  
请问有没有完整的代码啊?

相关推荐

    dom4j dom4j1.6 dom4j最新版

    5. **转换和序列化**:DOM4J可以将XML文档转换为其他格式,如HTML或者DOM,也可以将XML对象序列化回字符串或文件。 6. **文档结构**:DOM4J的Document、Element、Attribute、Namespace等类提供了清晰的文档结构表示...

    dom4j-2.1.3.zip

    4. **XML文档转换**:DOM4J可以将XML文档转换为其他格式,如Java对象、HTML或JSON。 5. **集成性**:DOM4J与Spring、Hibernate等框架有良好的集成,方便在企业级应用中使用。 在实际开发中,DOM4J常用于读取XML...

    dom4j所依赖的所有jar包

    5. **转换和序列化**:DOM4J可以将XML文档转换为其他格式,如HTML、DOM或流,也可以将Java对象序列化为XML。 6. **XPath表达式操作**:DOM4J提供了XPath编译和执行的能力,允许开发者动态构建和执行XPath表达式,...

    dom4j需要的包

    5. **转换XML到其他格式**:DOM4J可以将XML转换为Java对象,也可以将Java对象转换为XML,实现了数据的双向绑定。 6. **性能优化**:DOM4J提供了缓存机制和性能优化策略,以提高处理大量XML数据时的效率。 7. **...

    dom4j-1.6.1.jar

    9. **转换功能**:DOM4J能够将XML文档转换成其他格式,如HTML或Text,也可以将对象模型转换回XML字符串。 10. **IO操作**:DOM4J提供了一套简单的API来读写XML文件,支持流式处理,可以高效地处理大文件。 总结来...

    dom4j1.6.1+dom4j1.6.1API

    6. **与JAXB集成**:dom4j可以与Java的XML绑定框架JAXB集成,实现XML与Java对象之间的自动转换,简化数据交换。 7. **性能与效率**:尽管dom4j基于DOM模型,但其设计考虑了性能优化,对于中等大小的XML文档,性能...

    dom4j-java-API

    - DOM4J API.CHM文件很可能是DOM4J的官方帮助文档,包含了详细的API参考、示例代码和使用指南,对于学习和使用DOM4J非常有帮助。 5. **使用CHM文件** - 双击CHM文件,通常会用默认的浏览器打开,用户可以通过目录...

    dom4j 1.6.1 JavaDoc

    7. **XPath 和 XSLT**: 除了基本的XML操作,DOM4J还集成了XPath查询和XSLT转换,允许开发者进行复杂的XML数据处理。 8. **API 文档**: `javadoc.html`是JavaDoc的主页面,提供了所有DOM4J类和接口的索引。`javadoc-...

    dom4j的api文档 html版 rar

    "dom4j的api文档 html版 rar" 指的是一份关于dom4j库的API文档,以HTML格式呈现,并且被压缩在RAR文件中。RAR是一种常见的文件压缩格式,用于存储多个相关文件在一个单一的、可压缩的档案中。 **描述分析:** 描述...

    官网下的dom4j-2.0

    3. **dom4j-2.0.0-ALPHA-2.jar**:这是DOM4J库的主要二进制文件,包含了编译后的类,可以直接在Java项目中引用以实现XML处理的功能。 **DOM4J库关键知识点** DOM4J是一个开源的Java库,主要用于XML、XPath和XSLT...

    dom4j document

    `SAXReader`是一个高效的XML解析器,它能够将XML文件解析为DOM4J的`Document`对象。`Document`对象是DOM4J中表示XML文档的核心对象,提供了多种方法来访问和修改XML数据。 #### DOM4J与XPath DOM4J的强大之处在于...

    dom4j用到的xpath\dom4j等一系列jar包

    8. **转换和序列化**:DOM4J提供了XML到其他格式(如HTML或Text)的转换,并且可以将XML文档序列化为字节流或文件。 在实际应用中,`dom4j-1.6.1.jar`这个文件是DOM4J库的特定版本,包含了所有DOM4J的功能。当你在...

    dom4j安装包

    DOM4J是一个非常流行的Java库,专门用于处理XML文档。它提供了一套全面且强大的API,使得XML的读取、创建、修改以及遍历变得更加简单。DOM4J的名字来源于“Document Object Model for Java”,它是基于Java对象模型...

    dom4j-2.0.2

    4. **转换与序列化**:DOM4J可以将XML文档转换为其他格式,如HTML或Text,同时也可以将对象序列化为XML,实现数据的持久化。 5. **文档操作**:DOM4J提供了易于使用的API来创建、修改XML文档。例如,可以添加新的...

    Dom4j+Dom的jar包

    4. **易于集成**:DOM4J与许多其他Java库如JAXB、XStream等兼容,便于XML与其他数据格式的转换。 **DOM4J与DOM的对比** 1. **内存占用**:DOM4J通常占用更少的内存,因为它在解析XML时采用了一些优化策略。 2. **...

    dom4j-1.6.1

    DOM4J 提供了将XML文档转换为其他格式(如HTML、DOM或SAX事件)的能力,以及将XML对象序列化为字符串或写入文件的功能。这使得在不同的XML处理技术之间进行数据交换变得简单。 **5. 编辑与修改** DOM4J 为XML文档...

    dom4j-1.6.1-docs

    5. **转换(Transformation)**:DOM4J支持XSLT转换,可以将XML文档转换成其他格式,如HTML或PDF。 6. **集合(Collection)API**:DOM4J的API设计得像Java集合框架一样,使得操作XML文档就像操作Java对象一样简单...

    dom4j-2.1.1.zip

    标题中的"dom4j-2.1.1.zip"是指DOM4J库的2.1.1版本的压缩包,包含了一个名为"dom4j-2.1.1.jar"的核心库文件,这是开发者在项目中引入DOM4J时所需要的主要依赖。 XML(eXtensible Markup Language)是一种用于标记...

    java_dom4j架包

    Java DOM4J是一个轻量级、高性能且功能丰富的XML处理库,它提供了全面的XML解决方案,包括解析、生成、操作和转换XML文档。DOM4J是基于Java API的,其名称中的“DOM”指的是文档对象模型(Document Object Model),...

    dom4j解析XML所需jar包

    6. **XPath和XSLT转换**:除了基本的XML操作,DOM4J还能配合XPath执行XSLT(eXtensible Stylesheet Language Transformations)转换,实现XML到XML或XML到其他格式(如HTML)的转换。 7. **JAXB集成**:虽然DOM4J...

Global site tag (gtag.js) - Google Analytics