【发布时间】:2023-04-06 10:44:02
【问题描述】:
我通过 AJAX responseText 获得了一些 HTML 代码,它有 350-400 行长。它已作为字符串存储在变量 text 中,我想将其解析为 XML。但是,在解析时会删除一些内容。结果以script 部分结尾,看不到任何body 部分代码。
var xml = (new DOMParser()).parseFromString(text, "text/xml");
alert(xml.querySelector("body"));
console.log(text);
console.log((new XMLSerializer()).serializeToString(xml));
对于console.log(text)的结果,返回完整代码。
但是console.log((new XMLSerializer()).serializeToString(xml))的结果返回一个很不完整的结果,这样结束:
for (i = 0; i </script></head></html>
警报显示null,所以我很确定自解析过程以来内容已经丢失。
谁能告诉我怎么解决?
【问题讨论】:
-
脚本是否包含 xml 不安全字符...例如
if (a < b && b > c )? -
看着
i = 0; i...我猜是这样。 HTML 不是有效的 XML。 -
for语句实际上应该是for (i = 0; i < xml.scripts.length; i++)。整个脚本位于 之间。不就是当成innerXML文本吗?
标签: javascript xml xml-parsing