如何使用 JavaScript DOMParser 禁用脚本标签中的解析代码?

How to disable parsing code in script tags using JavaScript DOMParser?

我有以下带有 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++) {

我不想将 < > 替换为 < >因为它们也存在于代码中的字符串中。

是否可以禁用脚本标签内的解析代码?

为了解析HTML,我们使用mime类型text/html

const htmlDoc = parser.parseFromString(data, "text/html");
const tags = htmlDoc.getElementsByTagName("script");

尝试将 JS 代码封装在 CDATA section 所以它看起来像:

<script>
   <![CDATA[
      for (let i = 0; i < tags.length; i++) {....
  ]]>
</script>

这些注释告诉 xml 解析器只将其中的内容视为字符数据