如何在使用Jquery解析xml时保留html
假设我有以下XML结构:如何在使用Jquery解析xml时保留html,jquery,xml,Jquery,Xml,假设我有以下XML结构: <root> <item> <item1>some text is <b>here</b></item1> <item2>more text is here</item2> </item> </root> 但是在使用.text()时,不会保留html。html()不适用于jquery中的xml 关于如何在解析xml时保留内部html,您有
<root>
<item>
<item1>some text is <b>here</b></item1>
<item2>more text is here</item2>
</item>
</root>
但是在使用.text()时,不会保留html。html()不适用于jquery中的xml
关于如何在解析xml时保留内部html,您有什么想法吗?将您不希望被解释为xml的部分嵌套在CDATA部分中 e、 g 这不太漂亮,但在我的情况下成功了
Text()
将为您提供节点的文本信息。
但是,如果您使用:
var first_text = $(this).find('item1').html();
var second_text = $(this).find('item2').html();
您也将获得HTML标记。因此,如果HTML没有包含在CDATA中,就没有办法解决它,对吗?正确。除非你想尝试解析文本,这会变得非常混乱,如果你能避免的话,我建议你不要这样做Hanks David,我对向堆栈添加注释还不熟悉,我不知道如何添加这样的代码。
<root>
<item>
<item1><![CDATA[some text is <b>here</b>]]></item1>
<item2><![CDATA[more text is here]]></item2>
</item>
</root>
jQuery.fn.getCDATA = function() {
if($.browser.msie)
return this[0].childNodes[0].nodeValue;
// Other browsers do this
return this[0].childNodes[1].nodeValue;
};
var first_text = $(this).find('item1').html();
var second_text = $(this).find('item2').html();