改别人N年前的脚本,javascript和xml都写在一个文件中,脚本如下:
function loadTemplate(sTagName,sEditName){ document.all.TemplateContent.value = xmlTemplate.selectSingleNode("//Template" + sTagName).text; document.all.TemplateTag.value = sTagName; document.all.editTag.innerText = sEditName; }
<xml id="xmlTemplate"> <Template> <TemplateName>{$TemplateName$}</TemplateName> <TemplateCSS><![CDATA[{$CSS$}]]></TemplateCSS> <TemplateHead><![CDATA[{$Head$}]]></TemplateHead> <TemplateFoot><![CDATA[{$Foot$}]]></TemplateFoot> <TemplateIndex><![CDATA[{$Index$}]]></TemplateIndex> <TemplateList><![CDATA[{$List$}]]></TemplateList> <TemplateView><![CDATA[{$View$}]]></TemplateView> <TemplateSearch><![CDATA[{$Search$}]]></TemplateSearch> <TemplateMemberList><![CDATA[{$Member_List$}]]></TemplateMemberList> <TemplateImgList><![CDATA[{$Img_List$}]]></TemplateImgList> <TemplateError><![CDATA[{$Error$}]]></TemplateError> <TemplateSuccess><![CDATA[{$Success$}]]></TemplateSuccess> </Template> </xml>
javascript这一行报错:
document.all.TemplateContent.value = xmlTemplate.selectSingleNode("//Template" + sTagName).text;
不知道怎么改,求帮助
奶奶个腿,问题终于解决了。不是脚本的问题,不过这个脚本在ie7以上也不老正常的。是数据库被人注入过,在替换后的{$TemplateName$}的文本里出现了<eval request("ice")%>字样,造成脚本读不到相应的node。谢谢各位相助 ######没见过这样的文件 文件全文是什么样子的呢?######全文太长,都是html,主要的目的就是点击链接,执行这个函数读取xml节点的数据显示在文本框中######没文档吗? ?######回复 @blindcat : 很同情你######没有,嘛都没有。都搞不懂为啥乱七八糟啥玩意都写在一个页面里######selectSingleNode是IE下的特有用法
【http://www.w3school.com.cn/xmldom/met_node_selectsinglenode.asp】
http://shaolong.me/k
######刚查了下XPATH的查找语法://Template表示的是所有Template节点。从代码来看你想取得的是TemplateName等的类似节点。如果sTagName被alert出来是TemplateName,那么感觉应该写成 "//Template" + "/" + sTagName 。 你试试看行不行。######一样的结果 //就是忽略了路径,后面是拼的一个字符串######我测试了很久,用了类似的取值方式,发现可能你alert的不对. 你用xmlTemplate.selectSingleNode("//"),里面确定的应该是唯一的节点。假设为noded3,而根据语法<b>3</b>像这样在中间的值也是作为一个节点所以应该nodeValue,alert(nodes3.childNodes[0].nodeValue);我在本地自己写了一个测试程序是可以取到其中的值的。######我写的代码放在博客里了http://my.oschina.net/luckyone/blog/127340。你可以拿去跑跑看。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。