HTML生成<br/>而不是XML <br/>或<br/> <br/>

时间:2013-01-07 15:02:49

标签: html xml ajax

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

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

XML来源:

&lt;br /&gt;

我尝试过使用HTML字符代码替换/等各种内容,但仍会插入<br>

我想要<br /><br></br> 为什么这不起作用?

编辑:

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;
                });
            }
        });
    }

Procuded HTML(在Chrome中查看 - &gt; Inspect Element):

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

1 个答案:

答案 0 :(得分:3)

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

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

没有办法让浏览器将其序列化为XHTML,或者在有多种方式表示某些内容时控制它将使用哪种HTML语法(即,您无法在<p id=1>上声明<p id="1">的首选项反之亦然(同上<br><br /><br></br>)。

如果你想要XHTML,你需要遍历DOM中的节点并自己将它们渲染为XHTML。