【问题标题】: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> </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,控制台错误应该会消失。