【问题标题】:Need to convert from XML to HTML in java需要在java中从XML转换为HTML
【发布时间】:2013-06-12 10:01:24
【问题描述】:

请给我建议,因为我需要在不使用 XSLT 的情况下在 java 中将 XML 转换为 HTML。当我在网上搜索时,它显示的任何地方都可以仅使用 xslt/xsl 将 xml 转换为 html?

请大家给我一些建议?

【问题讨论】:

  • XML 到 HTML 到底是什么意思??
  • 我有一个 xml 文件,我需要将其转换并显示为 html 页面或 html 格式。因为我没有任何相同的 xsl 文件。
  • 下面的 NFE 答案是这个简单用例的最佳解决方案。保持 XML 的原始格式,并使用带有 javascript 的 HTML 页面在浏览器中解析和呈现。
  • "..without using XSLT." 为什么是'without'?这是完成这项工作的绝佳工具。
  • @AndrewThompson --- 因为我没有任何 xsl,也不知道如何编写 xsl。而且我没有足够的时间来学习和编写我们自己的 xsl。所以我正在尝试和寻找对于不同的方法

标签: java html xml xml-parsing


【解决方案1】:

您可以使用jQuery.parseXML解析xml数据并使用它的数据。

$.get('/url_of_the_xml_resource')
  .done(function(data){
    // parse the xml
    data = $.parseXML(data);
    //
    // do anything you want with the parsed data
  })
  .fail(function(){
    alert('something went wrong!');
  })
;

【讨论】:

    【解决方案2】:

    这会将root.xml 的内容保存为root.xml.html

    public static void main(String[] args) throws Exception {
        String xmlFile = "root.xml";
        Scanner scanner = new Scanner(new File(xmlFile)).useDelimiter("\\Z");
        String xmlContent = scanner.next();
        xmlContent = xmlContent.trim().replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll("\n", "<br />").replaceAll(" ", "&nbsp;");
        PrintWriter out = new PrintWriter(xmlFile+".html");
        out.println("<html><body>" + xmlContent + "</body></html>");
        scanner.close();
        out.close();
    }
    

    注意:这将保留 XML 的原始缩进和换行。

    【讨论】:

    • 感谢您的意见...让我也试试这个...但我想知道您所说的保留 XML 的原始缩进是什么意思?
    • xmlContent 行中,删除.replaceAll("\n", "&lt;br /&gt;").replaceAll(" ", "&amp;nbsp;") 并且缩进将不会被保留(然后你会明白我的意思)。
    • 实际上我希望 xml 内容在 html 页面中以某种排序顺序排列。但根据你的建议,我尝试它只是以 html 格式输出
    • 您应该根据这些附加要求更新您的问题,然后 - 如果我们不知道您需要它,我们将无法帮助您。
    • 是的,一开始它只是一个简单的..但后来的情况发生了变化..对不起,同样的
    【解决方案3】:

    您可以使用StringEscapeUtils 并使用方法 escapeHtml。

    String yourXmlAsHtmlString = StringEscapeUtils.escapeHtml(yourXmlAsString);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 2020-12-06
      • 2013-09-01
      • 2023-03-03
      相关资源
      最近更新 更多