以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  DOM练习for遇问题 了 路过的帮忙解决一下  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=75170)


--  作者:寒兔
--  发布时间:6/1/2009 8:48:00 PM

--  DOM练习for遇问题 了 路过的帮忙解决一下
李白.xml
<?xml version="1.0" encoding="GB2312"?>
<李白诗集 作者="李白" 朝代="唐朝" 地位="我国伟大的诗人">
<近体诗 ID="A01">
  <诗名>赋得白鹭鸶送宋少府入三峡</诗名>
  <内容>白鹭鸶一足,月明秋水寒。 人惊远飞去,直向使君滩。</内容>
</近体诗>
<近体诗 ID="A02">
   <诗名>送友人</诗名>
   <内容>青山横北郭,白水绕东城。此地一为别,孤蓬万里征。</内容>
</近体诗>
  <近体诗 ID="A03">
   <诗名>送陆官往琵琶峡</诗名>
   <内容>水国秋风夜,殊非远别时。长安如梦里,何日是朋期。</内容>
</近体诗>
</李白诗集>
李白.htm
<html>
   <head>
      <title>Enter the title of your HTML document here</title>
   </head>
   <body>
    <script language="javascript">
      var oNodeMap,str,i,qq;
      var cqddDoc=new ActiveXObject("MSxml2.DOMDocument.4.0");
      cqddDoc.async=false;
      cqddDoc.load("李白.xml");
      
      if(cqddDoc.parseError!=0)
        document.writeln(cqddDoc.parseError.reason+"<br>");
      else
      {
  oNodeMap=cqddDoc.documentElement.attributes;
  document.write(oNodeMap.length+"<br>");
  document.write(oNodeMap[1].text+"<br>");
  
  str=cqddDoc.documentElement.attributes;
<!--问题在这里--> for(var i=0;i<str.length;i++)
<!--这行变成红色--> document.write(str[i].text);
<!--这行变成红色--> }
    </script>
   </body>
</html>
我就是想知道有什么办法可以避免 由于运用了"<"符号而导至后面的代码变成红颜色的字了 其实他没有影响结果 结果是正常的


[此贴子已经被作者于2009-6-2 22:14:46编辑过]

--  作者:Qr
--  发布时间:6/1/2009 9:42:00 PM

--  
“&lt;” ---> “>”
--  作者:寒兔
--  发布时间:6/2/2009 3:12:00 PM

--  
版主
str=cqddDoc.documentElement.attributes;
for(var i=0;i<str.length;i++)
document.write(str[i].text);
}  我这样能行 但编职的时候 后面的字全变成红颜色的了 非常不好看 有办法解决吗?
--  作者:Qr
--  发布时间:6/2/2009 6:51:00 PM

--  
不明白
--  作者:寒兔
--  发布时间:6/2/2009 7:49:00 PM

--  
不是吧 就是我练习DOM模型时 在xmspy里用 For语句 (i=0;i<...;i++)
由于那个"<"符号 后面的内容都变成红颜色的字体了 这个有办法解决吗?
有时输快了还给出一个</..>的结束标记晕死了
--  作者:Qr
--  发布时间:6/2/2009 9:34:00 PM

--  
以下是引用寒兔在2009-6-2 19:49:00的发言:
不是吧 就是我练习DOM模型时 在xmspy里用 For语句 (i=0;i<...;i++)
由于那个"<"符号 后面的内容都变成红颜色的字体了 这个有办法解决吗?
有时输快了还给出一个</..>的结束标记晕死了

提问要把问题描述清楚,包括关键代码、编程环境等都要贴出来或表明,否则谁知道你要问什么?有些网友,一个问题讨论了好几天,总不能解决问题,问了编程语言,晕,这么才明白对方用JAVA,白白浪费了时间和精力。

把包含XML特殊字符的javascript代码按如下方式写
<script ...>
<![CDATA[
CODE HERE
]]>
</script>



--  作者:Qr
--  发布时间:6/2/2009 9:38:00 PM

--  
另,学XML那么多年,从来没装过XMLSpy。所以,涉及XMLSpy环境的问题,不懂。
--  作者:寒兔
--  发布时间:6/2/2009 10:10:00 PM

--  
呵呵 谢 谢 啦 下次我一定说清楚 免的版主来看了几次了嘿嘿 我把帖子编辑一下
--  作者:Qr
--  发布时间:6/3/2009 12:08:00 AM

--  
你的代码(IE ONLY):
str=cqddDoc.documentElement.attributes;
for(var i=0;i<str.length;i++)
document.write(str[i].text);
对于IE来说,语法上没有什么问题。至于你的问题,没有XMLSpy环境,不好判断。

如果改成(IE,FF):
str=cqddDoc.documentElement.attributes;
for(var i=0;i<str.length;i++)
document.write(str[i].nodeValue);
兼容性会好些。

用nodeValue代替text,看看能否在XMLSpy环境中运行通过?如果不通过,那我也没辙了,也不会再关心这个问题,因为我写代码,绝对不会考虑XMLSpy的问题。代码最终运行的环境是浏览器,不是XMLSpy。



--  作者:寒兔
--  发布时间:6/3/2009 9:21:00 AM

--  
嗯  明白了呵呵
--  作者:猫哥猫哥
--  发布时间:7/7/2009

--  
收藏了  ^_^  经典          绝对同意楼上的          
   
     
       
    
    
  
     
      
------------------------------------------------------------
张娜拉[url=http://www.gw365.com/huazhuang/5090.asp]安奈竹碳一洗白[/url],起来慵整纤纤手[url=http://www.gw365.com/huazhuang/5091.asp]吸立白[/url]
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms