Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用java将html转换为xml_Java_Html_Xml_Jtidy - Fatal编程技术网

使用java将html转换为xml

使用java将html转换为xml,java,html,xml,jtidy,Java,Html,Xml,Jtidy,有人能给我推荐一种使用java将html转换为xml的最佳方法吗 是否有任何API可用于此? html还可能包含javascript代码 我尝试了以下代码: import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; import java.io.FileOutputStream; import j

有人能给我推荐一种使用java将html转换为xml的最佳方法吗 是否有任何API可用于此? html还可能包含javascript代码

我尝试了以下代码:

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
import java.io.IOException;

class HTML2XML {
    public static void main(String args[]) throws JDOMException {
    InputStream isInHtml = null;
    URL url = null;
    URLConnection connection = null;
    DataInputStream disInHtml = null;
    FileOutputStream fosOutHtml = null;
    FileWriter fwOutXml = null;
    FileReader frInHtml = null;
    BufferedWriter bwOutXml = null;
    BufferedReader brInHtml = null;
    try {
        // url = new URL("www.climb.co.jp");
        // connection = url.openConnection();
        // isInHtml = connection.getInputStream();

        frInHtml = new FileReader("D:\\Second.html");
        brInHtml = new BufferedReader(frInHtml);
        SAXBuilder saxBuilder = new SAXBuilder(
                "org.ccil.cowan.tagsoup.Parser", false);
        org.jdom.Document jdomDocument = saxBuilder.build(brInHtml);

        XMLOutputter outputter = new XMLOutputter();
        org.jdom.output.Format newFormat = outputter.getFormat();
        String encoding = "iso-8859-2";
        newFormat.setEncoding(encoding);
        outputter.setFormat(newFormat);

        try {
            outputter.output(jdomDocument, System.out);
            fwOutXml = new FileWriter("D:\\Second.xml");
            bwOutXml = new BufferedWriter(fwOutXml);
            outputter.output(jdomDocument, bwOutXml);
            System.out.flush();
        } catch (IOException e) {
        }

    } catch (IOException e) {
    } finally {
        System.out.flush();
        try {
            isInHtml.close();
            disInHtml.close();
            fosOutHtml.flush();
            fosOutHtml.getFD().sync();
            fosOutHtml.close();
            fwOutXml.flush();
            fwOutXml.close();
            bwOutXml.close();
        } catch (Exception w) {

        }
    }
}
}
但它没有按预期工作

试试看

JTidy可以用作清理格式错误和错误的HTML的工具

试一试

JTidy可以用作清理格式错误和错误的HTML的工具


HTML与XML不同,除非它符合XML模式下的XHTML或HTML5


建议使用HTML解析器读取HTML并将其转换为XML–或直接处理它。

HTML与XML不同,除非它符合XML模式下的XHTML或HTML5


建议使用HTML解析器读取HTML并将其转换为XML–或直接处理它。

如果您想解析HTML而不是将HTML转换为XML,则可以使用HTML解析器。
我希望它能帮助您。

如果您想解析html而不是将html转换为xml,您可以使用html解析器。
我希望它能帮助您。

您是说XHTML吗?那么这个Javascript代码呢,你想用它做什么呢?我必须把普通的html文件转换成XML,你需要把它们转换成XHTML吗?XHTML是HTML的XML表示形式XML可以是任何东西。你试过了吗?否则,你可以将整个HTML文档嵌入到一个XML元素中,这一点已经被证明了。这可能不是您想要的,但我们需要更多信息。您是指XHTML吗?那么这个Javascript代码呢,你想用它做什么呢?我必须把普通的html文件转换成XML,你需要把它们转换成XHTML吗?XHTML是HTML的XML表示形式XML可以是任何东西。你试过了吗?否则,你可以将整个HTML文档嵌入到一个XML元素中,这一点已经被证明了。这可能不是你想要的,但是我们需要更多的信息。你可以用jTidy来分享示例代码来做这项工作吗?非常感谢,我能够做到。你可以用jTidy来分享示例代码来做这项工作吗?非常感谢,我能够做到。