【问题标题】:Javascript DOMParser.parseFromString giving parse errorJavascript DOMParser.parseFromString 给出解析错误
【发布时间】:2016-03-02 22:36:20
【问题描述】:

在控制台中执行此操作时,为什么会出现解析错误?

TR = '<TR id=line1 class="myClass"><INPUT id=input1 type=hidden> <INPUT id=input2> <TD style="PADDING-LEFT: 20px" align=left> <IMG class=im border=0 src="images/img.gif"> Hello </TD><!-- comment --> <TD id=cell1 align=right></TD> <TD id=cell2 align=right></TD> <TD align=middle>&nbsp; </TD> <TD align=middle></TD></TR>';
parser = new DOMParser()
xmlDocument = _parser.parseFromString(TR, "text/xml");

【问题讨论】:

    标签: javascript xml-parsing


    【解决方案1】:

    第一个问题(我认为这不是您遇到的问题,而是错误地复制粘贴了此代码):您的变量名称是 parser,而不是 _parser

    您的主要问题是您试图将 HTML 解析为 XML,这将起作用 IF 您的 HTML 也是有效的 XML。但你的不是。引用您的属性作为开始。就是这样

    error on line 1 at column 8: AttValue: " or ' expected
    

    意思。

    完成此操作后,关闭 void 元素。在 HTML5 中可以省略尾部斜杠,但在更严格的 XML 规则内则不行。

    【讨论】:

      【解决方案2】:

      您创建一个新的DOMParser() 并将其分配给一个名为parser 的变量:

      parser = new DOMParser()
      

      但是你在下一行引用了一个未声明的变量_parser

      xmlDocument = _parser.parseFromString(TR, "text/xml");
      

      如果您将_parser 替换为parser,控制台错误应该会消失。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-11
        • 2012-05-19
        • 2012-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-31
        相关资源
        最近更新 更多