2013-01-07 179 views
-2

的试图解析一些XML然后插入特定部分成各种HTML元素。HTML可生产<br>相反XML <br />或<br></br>

我使用的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(在浏览器中查看 - >检查元素):

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

+0

什么是DOCTYPE,什么是您使用解析(的innerHTML建议使用JavaScript)? –

+0

不管别的什么,xHTML换行符标签应该是'
' - '

'无效;它必须是一个自闭标签。 – SDC

+1

不是指向有意义的,但是你正在使用'innerHTML' - 所以我期望得到HTML回来 - 而不是像你一样的XML。 – hakre

回答

3

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

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

有没有办法让一个浏览器,它序列化到XHTML,或控制时,有多种方式来表示的东西(即你不能说出的<p id=1>的偏爱超过<p id="1">,反之亦然(同上它将使用其HTML语法<br><br /><br></br>)。

如果你想XHTML,你需要走的节点在DOM,并将其呈现为XHTML自己。

+0

建议链接:[?我如何序列化DOM到XML文本,使用JavaScript,在一个跨浏览器的方式(http://stackoverflow.com/q/43455/367456) – hakre

相关问题