如何在使用Jquery解析xml时保留html

如何在使用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,您有

假设我有以下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,您有什么想法吗?

将您不希望被解释为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();