我有一个很大的XML文件,该文件用< > "
等转义了。
我测试了XML,并验证了它的格式正确。我怀疑在转义XML保留字符时存在一些问题。
示例:从<
到“ <”
这是我正在做的事的一个例子:
xml_string = “<?xml version="1.0" encoding="UTF-8" standalone="yes"?><root><test></test></root>”;
xml_object = $.parseXML(unescape(xml_string));
我不断从parseXML中收到“无效的XML”错误。
答案 0 :(得分:2)
在这种情况下unescape()函数不起作用。相反,您可以在下面的答案中使用decode()函数。这是旧的,但尝试过并属实。基本上,通过将值分配给ghost元素,我们可以在那里将其“转义”。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="products">
<h1>Products</h1>
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem</p>
<img id="product-mouseover" src="images/001-malware.png" alt="">
<img id="product-mouseover" src="images/002-smartphone.png" alt="">
</div>
var xml_string = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><root><test></test></root>';
function decode(input) {
var txt = document.createElement("textarea");
txt.innerHTML = input;
return txt.value;
}
var decodedString = decode(xml_string);
console.log('Decoded: ', decodedString);
var xml_object = $.parseXML(decodedString);