问题是这样的。我在做文本提取时用的org.w3c.dom.node,目标是提取到正文node,并返回node节点的html内容,就像org.htmlparser.Node的tohtml()方法一样返回html,但是org.w3c.dom.node没有这样的方法。
1.能不能在不换成org.htmlparser.Node的情况下实现tohtml(因为org.w3c.dom.node在项目用了很多,且某些方法在org.htmlparser.Node也没有)。
2.org.htmlparser.包下的node,document能否实现org.w3c.dom下的node,document,总之能够替代。
下面请高手们踊跃发言吧~~
1.能不能在不换成org.htmlparser.Node的情况下实现tohtml(因为org.w3c.dom.node在项目用了很多,且某些方法在org.htmlparser.Node也没有)。
2.org.htmlparser.包下的node,document能否实现org.w3c.dom下的node,document,总之能够替代。
下面请高手们踊跃发言吧~~
写个方法,传入org.w3c.dom.Node,方法里面利用一下org.htmlparser.Node,传出字符串。
htmlparser……是什么?那个用来解析HTML文件的工具?对于大量由界面设计人员为IE开发的页面,恐怕这东西无能为力。
如果你解析的是xml文件,为何要得到html内容?
package org.necros.test.xml;import java.io.ByteArrayOutputStream;
import java.io.File;import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;
import org.w3c.dom.Node;public class NodeToHtml {
public static void main(String[] args) throws Throwable {
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(args[0]));
Node n = doc.getDocumentElement().getElementsByTagName(args[1]).item(0);
ByteArrayOutputStream os = new ByteArrayOutputStream();
StreamResult ot = new StreamResult(os);
TransformerFactory.newInstance().newTransformer().transform(new DOMSource(n), ot);
String result = os.toString(doc.getInputEncoding());
System.out.println("The result is:\n" + result);
}
}
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;这些包可以用来将node包含的html信息恢复