我已经使用DOMParser在JavaScript中成功解析XML,并且我试图使用document.createRange().createContextualFragment
,因为性能似乎更好。
我发现虽然DOMParser处理自关闭标签很好,但是当使用createContextualFragment时,它们不会被处理,导致后续元素嵌套在它们下面。我创建了一个jsfiddle来展示这里的差异https://jsfiddle.net/p8mokmsy/。
所以我的问题是,为什么createContextualFragment这样做?似乎所有浏览器的行为都是一样的,所以它必须符合规范?
我正在尝试关注https://www.w3.org/TR/DOM-Parsing/#dfn-concept-parse-fragment,但这有点过头了。也许我的字符串被检测为HTML文档而不是XML?