以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』  (http://bbs.xml.org.cn/list.asp?boardid=22)
----  JavaScript脚本读取xml数据到HTML文件中?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=22&rootid=&id=30621)


--  作者:jxytwy
--  发布时间:4/15/2006 1:49:00 PM

--  JavaScript脚本读取xml数据到HTML文件中?
谁会用JavaScript脚本读取xml数据到HTML文件中呀,帮兄弟把下面的数据读一下好吗?

<%@ page contentType="text/xml; charset=gbk" language="java" import="java.sql.*" errorPage="" %>
<?xml version="1.0" encoding="gb2312"?>
<M2MDoc>
    <SPID>3</SPID>
    <SPName>3</SPName>
    <MovieList>
        <Item MovieID="103704" MovieName="忍" Class="动作片" />
        <Item MovieID="103701" MovieName="风斗士" Class="动作片" />
        <Item MovieID="103693" MovieName="无血无泪" Class="动作片" />
    </MovieList>
    <Page Number="1" AllPage="3" Count="45" />
</M2MDoc>


--  作者:YHai
--  发布时间:4/16/2006 3:16:00 PM

--  
<script language="javascript" type="text/javascript">
var xhai_xml;

function xhai_GetXML(){
 xhai_xml = new ActiveXObject("Microsoft.XMLDOM");
    xhai_xml.async=true;
    xhai_xml.onreadystatechange = GetReady;
    xhai_xml.load("datafile.xml")
}

function GetReady(){
 if(xhai_xml.readyState==4){
     if(xhai_xml.parseError.errorCode==0){
   document.write("SPID:"+xhai_xml.documentElement.selectNodes("SPID")(0).text+"<br />");
   document.write("SPName:"+xhai_xml.documentElement.selectNodes("SPName")(0).text+"<br />");
   document.write("<br />");
   var i,c,d,Line;
   var MovieList = xhai_xml.documentElement.selectNodes("//MovieList/Item");
   var j=MovieList.length;
   Line = MovieList.item(0);
   d=Line.attributes.length;
   for(c=0;c<d;c++){
    document.write(Line.attributes(c).name+" | ");
   }
   document.write("<br />");

   for(i=0;i<j;i++){
    Line = MovieList.item(i);
    d=Line.attributes.length;
    for(c=0;c<d;c++){
     document.write(Line.attributes(c).value+" | ");
    }
    document.write("<br />");
   }
   document.write("<br />");
   var page = xhai_xml.documentElement.selectNodes("//Page").item(0)
   j=page.attributes.length;
   for(i=0;i<j;i++){
    document.write(page.attributes(i).name+":");
    document.write(page.attributes(i).value+" ");
   }
     }
      delete(xhai_xml);
    }
}
xhai_GetXML();
</script>


本例输出结果

SPID:3
SPName:3

MovieID | MovieName | Class |
103704 | 忍 | 动作片 |
103701 | 风斗士 | 动作片 |
103693 | 无血无泪 | 动作片 |

Number:1  AllPage:3  Count:45


输出格式可自定修改


--  作者:jxytwy
--  发布时间:4/17/2006 9:50:00 AM

--  
YHai.兄弟非常感谢,!
--  作者:rainsjjq
--  发布时间:4/17/2006 5:47:00 PM

--  
为什么我却用不了!
--  作者:xiaohua
--  发布时间:5/3/2006 7:02:00 PM

--  
谢谢了 还有呀 搂住知不知道把HTML留言版的内容保存到XML的源代码呀
--  作者:cwzb
--  发布时间:5/4/2006 7:37:00 PM

--  
可以使用XML字符串转换

function xmlEscape(text)
{    
    text = text.replace(/&/g,"&amp;");
    text = text.replace(/</g,"&lt;");
    text = text.replace(/>/g,"&gt;");
    
    return text;
}

function xmlUnescape(text)
{
    text = text.replace(/&lt;/g,"<");
    text = text.replace(/&gt;/g,">");
    text = text.replace(/&amp;/g,"&");
    
    return text;
}


--  作者:ajax_05
--  发布时间:5/7/2006 10:32:00 AM

--  
无能不多智不要紧。
关键是肯学,感兴趣!
说得好啊,也送给我吧!
--  作者:lhsunrice
--  发布时间:5/29/2007 9:38:00 AM

--  
那如果标签里套有格式标签呢?
e.g.
<Content CurrentIndex='1' ContentID='41915' Total='1'>
<![CDATA[<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 昨天,国务院办公厅发布了教育部、财政部、中央编办、人事部《教育部直属师范大学师范生免费教育实施办法(试行)》。《办法》明确,从2007年秋季入学的新生起,在北京师范大学、华东师范大学、东北师范大学、华中师范大学、陕西师范大学和西南大学六所部属师范大学实行师范生免费教育。免费师范生入学前与学校和生源所在地省级教育行政部门签订协议,承诺毕业后从事中小学教育工作十年以上。免费师范毕业生一般回生源所在省份中小学任教。</P>]]></Content>
这个怎么读取啊?
--  作者:lhsunrice
--  发布时间:5/29/2007 9:39:00 AM

--  
那如果标签里套有格式标签呢?
e.g.
<Content CurrentIndex='1' ContentID='41915' Total='1'>
<![CDATA[<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 昨天,国务院办公厅发布了教育部、财政部、中央编办、人事部《教育部直属师范大学师范生免费教育实施办法(试行)》。《办法》明确,从2007年秋季入学的新生起,在北京师范大学、华东师范大学、东北师范大学、华中师范大学、陕西师范大学和西南大学六所部属师范大学实行师范生免费教育。免费师范生入学前与学校和生源所在地省级教育行政部门签订协议,承诺毕业后从事中小学教育工作十年以上。免费师范毕业生一般回生源所在省份中小学任教。</P>]]></Content>
这个怎么读取啊?
--  作者:lhsunrice
--  发布时间:5/29/2007 4:48:00 PM

--  
以下是引用ajax_05在2006-5-7 10:32:00的发言:
function xmlUnescape(text)
{
    text = text.replace(/&lt;/g,"<");
    text = text.replace(/&gt;/g,">");
    text = text.replace(/&amp;/g,"&");
    
    return text;
}


为啥浏览器显示:
对象不支持此属性或方法

我在msdn上查关于html/css的方法,replace好像不是这样用的。。。
W_H_Y


--  作者:Qr
--  发布时间:5/29/2007 6:23:00 PM

--  
cwzb的代码没有问题,replace的用法是正确的


--  作者:lhsunrice
--  发布时间:5/30/2007 11:12:00 AM

--  

Qr昨天告诉我的方法不也对~~~~~~~~~~~~
--  作者:Qr
--  发布时间:5/30/2007 11:21:00 AM

--  
奇了怪了,偶测试通过的代码在你那就不对,不是你的问题吧?
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
97.656ms