jquery解析html中的xml
我有一个xml文件,其中包含html标签,我使用jquery ajax解析。 我可以毫无问题地获得文本值。如何获取元素中的html部分?jquery解析html中的xml
编辑:我试着在cdata中包装html,但宁愿在xml中有xhtml。
$.ajax({ type: "GET",
url: "product.xml",
dataType: "xml",
success: function (xml) {
$(xml).find("product[productid=" + selection + "]").each(function() {
var $title = $(this).find("title").text(); //get title
var $desc = $(this).find("description").html(); //get description
//$('[nodeName=]',xml)
$("#producttitle").html("");
$("#productdesc").append($desc);
$("#producttitle").append($title);
});
}
<product productid="1">
<title>Active Directory</title>
<status>noinfo</status>
<description>
Headline
<b>tester</b>
<ul>
<li>test list element</li>
</ul>
</description>
<link title=""></link>
</product>
干杯, 特里
要获得标签的内容包括作为标签,而不是转义为文本内容,使用html
:
var $desc = $(this).find("description").html();
然而,如果你将这个内容插入到do中cument,你并不需要得到HTML - 你可以追加选择:
$(this).find('description').clone().appendTo('#containingElement');
clone
是有必要进口的节点。
不幸的是,使用.html()将无法使用ajax数据类型xml。 – 2011-06-08 10:13:34
@Terry谢谢,我删除了那一点。 – lonesomeday 2011-06-08 10:18:24
感谢您使用'clone'进行更新。没有工作... – 2011-06-08 10:46:46
只要使用$(this).find(“description”)。html()似乎可以工作。
尝试读取XML文件作为HTML:
$阿贾克斯({ 类型: “GET”, 网址: 'file.xml', 数据类型: “HTML”, 成功:功能(XML ){....
使用'HTML'数据类型(而不是'XML')帮助解决了由于XML中包含不受支持的特殊字符编码导致JQuery XML解析器失败的问题。 – blackcompe 2014-06-26 14:06:50
嗯,基本上平时jquery.ajax $阿贾克斯({类型: “GET”, \t \t \t \t \t \t网址: “product.xml”, \t \t \t \t \t \t数据类型: “XML”, \t \t \t \t \t \t成功:功能(XML){....我得到使用var $ DESC = $值(本).find( “说明”)文本(。 ); – 2011-06-08 10:08:36