Javascript jQuery.parseXML()中的转义角括号
我收到一个服务器的文本响应,看起来像Javascript jQuery.parseXML()中的转义角括号,javascript,jquery,xml,Javascript,Jquery,Xml,我收到一个服务器的文本响应,看起来像sometext我的标签/sometext。问题是,当我执行jQuery.parseXML()以根据此响应创建xml文档时。它最终创建了我的标签。如何在解析xml时转义这些角括号?和是HTML实体,允许您在类似xml/HTML的文档中打印小于()的字符,而无需将其解析为标记 有两种方法可以解释您的问题,我不确定您的意思是什么,因此我将尝试解决这两种方法: 您希望JQuery“忽略”已经转义的字符——这意味着JQuery应该将字符串解析为一个包含文本内容的标签节
sometext我的标签/sometext
。问题是,当我执行jQuery.parseXML()
以根据此响应创建xml文档时。它最终创建了我的标签
。如何在解析xml时转义这些角括号?
和
是HTML实体,允许您在类似xml/HTML的文档中打印小于(
)的字符,而无需将其解析为标记
有两种方法可以解释您的问题,我不确定您的意思是什么,因此我将尝试解决这两种方法:
标签
节点“我的标签”(请记住,
将显示为您希望输出的具体内容是什么?@BenElliott在question@smarber您可以将其表示为字符串吗?您是希望输出为包含内容的单个label
节点sometextmy label/sometext
,还是希望树label
sometext
“我的标签”
?@BenElliott是的,绝对是!@newbie哪一个?
label
|--- "<sometext>my Label</sometext>"
var result = $.parseXML("<label><sometext>myLabel</sometext></label>");
console.log(result);
console.log(result.children[0].textContent);
label
|---sometext
|---"my Label"
var string = "<label><sometext>myLabel</sometext></label>"
.replace(/&[l|g]t;/g, function(c) {
if (c === "<") {
return "<";
} else {
return ">";
}
});
var result = $.parseXML(string);
console.log(result);
console.log(result.children[0]);
console.log(result.children[0].children[0].textContent);
label
|--- "<sometext>my Label</sometext>"
var string = "<label><sometext>myLabel</sometext></label>".replace(/&[l|g]t;/g, function(c) {
if (c === "<") {
return "&lt;";
} else {
return "&gt;";
}
});
result = $.parseXML(string);