【发布时间】:2022-01-25 17:20:27
【问题描述】:
我有以下带有 JavaScript 标记的文本文件:
<script>
...
</script>
<script>
...
</script>
<script>
...
</script>
当我像这样解析它时:
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(`<root>${data}</root>`, "text/xml");
const tags = xmlDoc.getElementsByTagName("script");
我得到一个错误,因为 JS 程序代码中有 符号,比如
for (let i = 0; i < tags.length; i++) {
我不想将 替换为 < >因为这些也存在于代码中的字符串中。
是否可以禁用脚本标签内的解析代码?
【问题讨论】:
-
无法重现错误。
-
请提供一个可运行的minimal reproducible example 来演示错误
-
@Spectric 在使用
text/xml解析<script>'<'</script>时出错,因为它是有效的 HTML 但无效的 XML -
嗯,您正在尝试将非格式良好的 XML 解析为 XML。会有错误。
DOMParser中没有 per-tag 配置;实际上,除了传递给parseFromString的 MIME 类型之外,根本没有任何配置。
标签: javascript domparser