【问题标题】:Display XML content in HTML page在 HTML 页面中显示 XML 内容
【发布时间】:2011-09-22 18:26:50
【问题描述】:

如何在同一页面中显示 XML 和其他类型的数据?

    <?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
    <cd>
        <title>Empire Burlesque</title>
        <artist>Bob Dylan</artist>
        <country>USA</country>
        <country>Columbia</country>
        <price>10.90</price>
        <year>1985</year>
    </cd>
</catalog>

上述 XML 应按原样显示格式。另外,我想在我的页面中显示 HTML 表格和其他内容。如何做到这一点?

  1. 我确实不是通过文件获取 STRING 中的 XML。
  2. 我不想解析它
  3. 我要显示(仅此而已)
  4. 如果你说 XSLT(请举例)
  5. 我正在考虑使用 Jquery 插件(有示例吗?)

【问题讨论】:

    标签: jquery html xml


    【解决方案1】:

    简单的解决方案是嵌入&lt;textarea&gt; 元素,这将保留格式和尖括号。我还删除了带有 style="border:none;" 的边框,这使得 textarea 不可见。

    这是一个示例:http://jsfiddle.net/y9fqf/1/

    【讨论】:

    • 感谢您提供的精彩提示并将我介绍给 jsfiddle.net 网站。我可以让 textarea 可以折叠吗?像一个部分?
    • 很棒的答案!借助此答案和此处的其他链接:telerik.com/forums/multiline-textarea-in-a-grid-databinding,我能够在 kendo-grid 单元格中显示 XML 文本。非常感谢!
    • 极好的回复。像魅力一样解决了我的问题!
    • 真棒和聪明的答案。甚至为java问题工作。我试图根据java中的动态数据创建html页面。
    【解决方案2】:

    您可以使用旧的&lt;xmp&gt; 标签。我不知道浏览器是否支持,但它应该仍然可以工作。

    <HTML>
    
    your code/tables
    
    <xmp>
        <catalog>
            <cd>
                <title>Empire Burlesque</title>
                <artist>Bob Dylan</artist>
                <country>USA</country>
                <country>Columbia</country>
                <price>10.90</price>
                <year>1985</year>
            </cd>
        </catalog>
    </xmp>
    

    输出:

    your code/tables
    <catalog>
        <cd>
            <title>Empire Burlesque</title>
            <artist>Bob Dylan</artist>
            <country>USA</country>
            <country>Columbia</country>
            <price>10.90</price>
            <year>1985</year>
        </cd>
    </catalog>
    

    【讨论】:

    【解决方案3】:
    <pre lang="xml" >{{xmlString}}</pre>
    

    这对我有用。 感谢http://www.codeproject.com/Answers/998872/Display-XML-in-HTML-Div#answer1

    【讨论】:

    • 这对我有用,因为我正在寻找相同的东西。
    • 也为我工作!我在
       标记中显示 xml 内容已经有一段时间了,没有任何问题。我最近才注意到它不再显示为 xml,这个小修复解决了它
    【解决方案4】:

    如果您将内容视为 text,而不是 HTML,则 DOM 操作应该会导致数据被正确编码。以下是您在 jQuery 中的操作方式:

    $('#container').text(xmlString);
    

    以下是使用标准 DOM 方法的方法:

    document.getElementById('container')
            .appendChild(document.createTextNode(xmlString));
    

    如果您通过服务器端脚本将 XML 放入 HTML 中,那么肯定会有编码函数允许您这样做(如果您添加服务器端技术,我们可以为您提供具体示例你会怎么做)。

    【讨论】:

    • 谢谢...但是,text() 会保留正在传递的 XML 字符串的格式吗?
    • XML 从何而来?有没有一种方法可以在 iframe 中生成它,这将利用内置的浏览器工具来折叠/展开标签?或者你的意思是你想折叠/展开整个文本区域?
    • 我想折叠/展开整个 textarea。一般来说,我想用一个页面显示多个 xml 代码的 sn-ps。所以,我想展开/折叠。
    • karthi,如果你把它放在标准的 div 中,格式将不会被保留。但是,如果您将其放在 pre 元素中,则会在输入时呈现空白。
    • 感谢 Jacob - 我使用了 $('#container').text(xmlString);&lt;pre id="container"&gt;&lt;/pre&gt;,这正是我所需要的。
    【解决方案5】:

    我猜是 2017 年更新。 textarea 使用 Spring、Bootstrap 和其他一些东西对我来说工作得很好。将 SOAP 有效负载存储在数据库中,由 Spring 读取并通过 Spring-MVC 推送。 xmp 根本没有工作。

    【讨论】:

      【解决方案6】:

      在 HTML 页面上显示 XML 数据的简单解决方案是: 去这个website

      粘贴您的代码并生成您可以在 HTML 的 pre-tag 中使用的 XML 代码以显示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-01-09
        • 2015-05-27
        • 1970-01-01
        • 1970-01-01
        • 2017-03-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多