You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DOMParser解析XML时出现循环结构转JSON错误的解决方法

解决XML解析后出现的"TypeError: Converting circular structure to JSON"错误

这个错误不是你贴的XML解析代码本身导致的,问题出在后续逻辑里:你大概率尝试用JSON.stringify()去序列化xmlDoc(或者包含它的对象)了。DOM节点对象本身存在循环引用(比如节点的parentNode和父节点的childNodes互相指向),JSON无法处理这种结构,所以抛出错误。

解决步骤:

  • 先定位错误触发点:检查代码里有没有JSON.stringify(xmlDoc)或者把xmlDoc放入某个要序列化的对象中的操作,直接移除这部分逻辑即可。
  • 如果你需要用xmlDoc做XPath查询,直接使用它就行,完全不需要序列化。示例XPath查询代码:
    // 执行XPath查询
    const xpathExpr = '//your-target-node'; // 替换成你的XPath表达式
    const result = xmlDoc.evaluate(xpathExpr, xmlDoc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
    
    // 遍历查询结果
    for (let i = 0; i < result.snapshotLength; i++) {
        const node = result.snapshotItem(i);
        console.log(node.textContent); // 处理节点内容
    }
    
  • 如果确实需要序列化XML相关数据,不要直接序列化DOM对象,而是提取你需要的节点内容、属性值等,再把这些纯数据对象进行序列化。

内容的提问来源于stack exchange,提问作者Skull Cutter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 23:15:54