尝试解析一些XML,然后将特定部分插入到各种HTML元素中。
我正在使用innerHTML例程,每当我插入<br>
标记时,在XML文档中格式化为<br />
或<br></br>
它会自动忽略/
并将其格式化到<br>
XML来源:
<br />
我尝试过使用HTML字符代码替换/
等各种内容,但仍会插入<br>
。
我想要<br />
或<br></br>
为什么这不起作用?
编辑:
XML文件:
<?xml version="1.0" encoding="iso-8859-1"?>
<questionContainer>
<title>What is this?</title>
<body>
<br />
This is the login form to access the KayPop beta. New beta testers are accepted weekly, find our more or...
<br / ><br / >
<a href="#">Sign up here!</a>
</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):
答案 0 :(得分:3)
浏览器在内存中保留DOM的表示。
当您阅读innerHTML
时,它会将DOM序列化为HTML。
没有办法让浏览器将其序列化为XHTML,或者在有多种方式表示某些内容时控制它将使用哪种HTML语法(即,您无法在<p id=1>
上声明<p id="1">
的首选项反之亦然(同上<br>
,<br />
,<br></br>
)。
如果你想要XHTML,你需要遍历DOM中的节点并自己将它们渲染为XHTML。