如何配置jsdom以保留标签名称大小写?

时间:2014-01-01 00:34:55

标签: jsdom

看看以下几行:

var doc = jsdom.jsdom("<moshe></moshe>");
console.log(doc.childNodes[0].tagName);

第二行以大写形式将“MOSHE”写入控制台,这意味着jsdom将我的字符串识别为HTML而不是XML。如何强制jsdom保留标签名称原始案例?

提前致谢。

1 个答案:

答案 0 :(得分:1)

根据HTML标准tagName在HTML文档中应该是大写的。

  

tagName属性必须运行以下步骤:

     
      
  1. 如果上下文对象的名称空间前缀不为null,则将限定名称作为其名称空间前缀,后跟&#34;:&#34; (U + 003A),后跟本地名称。否则,请将限定名称作为其本地名称。
  2.   
  3. 如果上下文对象位于HTML命名空间及其节点文档中   是一个HTML文档,让限定名称转换为ASCII   大写。
  4.   
  5. 返回限定名称。
  6.   

Jsdom目前不支持XML文档(官方),因为HTML和XML文档之间没有区别。

要在v1.0 +中解析为XML,你必须提供htmlparser2作为解析器,然后jsdom意味着基于<?xml指令解析为XML。如果合并#883,则可能不需要这样做,在这种情况下,将引入parsingMode选项,该选项接受&#34; xml&#34;并切换到xml解析器。

最终,正在努力解决这个问题,但是用jsdom解析XML的直接解决方案并不存在。

相关问题