【问题标题】:HTML Produces <br> Instead of XML <br /> or <br></br>HTML 生成 <br> 而不是 XML <br /> 或 <br></br>
【发布时间】:2012-12-21 07:57:51
【问题描述】:

尝试解析一些 XML,然后将特定部分插入到各种 HTML 元素中。

我正在使用 innerHTML 例程,每当我插入 &lt;br&gt; 标记时,在 XML 文档中格式化为 &lt;br /&gt;&lt;br&gt;&lt;/br&gt; 它会自动忽略 / 并将其格式化为 &lt;br&gt;

XML 来源:

&lt;br /&gt;

我尝试了各种方法,例如用 HTML 字符代码替换 /,但它仍然插入了 &lt;br&gt;

我想要&lt;br /&gt;&lt;br&gt;&lt;/br&gt; 为什么这不起作用?

编辑:

XML 文件:

<?xml version="1.0" encoding="iso-8859-1"?>
<questionContainer>

    <title>What is this?</title>

    <body>
    &lt;br /&gt;
    This is the login form to access the KayPop beta. New beta testers are accepted weekly, find our more or... 

    &lt;br / &gt;&lt;br / &gt;
    &lt;a href="#"&gt;Sign up here!&lt;/a&gt;
    </body>


</questionContainer>

Javascript 例程:

function insertXML()
    {
        $.ajax ({
            type: "GET",
            url: 'cd_catalog.xml',
            dataType: "xml",
            success: function( xml )
            {           
                $(xml).find('questionContainer').each(function(){
                    var title = $(this).find('title').text();
                    document.getElementById('q-T').innerHTML = title;

                    var bodyText = $(this).find('body').text();
                    document.getElementById('q-B').innerHTML = bodyText;
                });
            }
        });
    }

生成的 HTML(在 Chrome 中查看 -> 检查元素):

http://i.imgur.com/0bq3q.png

【问题讨论】:

  • doctype 是什么,你用什么来解析(innerHTML 建议使用 JavaScript)?
  • 无论如何,xHTML 换行标记应该是&lt;br /&gt; -- &lt;br&gt;&lt;/br&gt; 无效;它必须是一个自闭合标签。
  • 不要指向明显的问题,但您使用的是innerHTML - 所以我希望得到 HTML - 而不是像你一样的 XML。
  • @SDC: &lt;br&gt;&lt;/br&gt; 有效的 XHTML。
  • @SDC — 它是有效的 XHTML,但不兼容 HTML(根据附录 C)XHTML。

标签: html xml ajax


【解决方案1】:

浏览器在内存中保存 DOM 的表示。

当您阅读 innerHTML 时,它会将 DOM 序列化为 HTML。

没有办法让浏览器将其序列化为 XHTML,或者在有多种表示某事物的方式时控制它将使用哪种 HTML 语法(即,您不能声明对 &lt;p id=1&gt; 的偏好优于 &lt;p id="1"&gt;,反之亦然反之亦然(同上&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;/br&gt;)。

如果您想要 XHTML,则需要遍历 DOM 中的节点并自己将它们呈现为 XHTML。

猜你喜欢
  • 2010-12-29
  • 2014-01-24
  • 2010-12-12
  • 2013-08-25
  • 2015-01-30
  • 2015-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多