进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 网站开发 -> JavaScript -> 文章内容  
Javascript+XML 操作

 

我的xml文件Login.xml如下.
<?xml version="1.0" encoding="utf-8" ?>
<Login>
    <Character>
        <C Text="热血" Value="0"></C>
        <C Text="弱气" Value="1"></C>
        <C Text="激情" Value="2"></C>
        <C Text="冷静" Value="3"></C>
        <C Text="冷酷" Value="4"></C>
    </Character>
    <Weapon>
        <W Text="光束剑" Value="0"></W>
        <W Text="光束配刀" Value="1"></W>
    </Weapon>
    <EconomyProperty>
        <P Text="平均型" Value="0"></P>
        <P Text="重视攻击" Value="1"></P>
        <P Text="重视敏捷" Value="2"></P>
        <P Text="重视防御" Value="3"></P>
        <P Text="重视命中" Value="4"></P>
    </EconomyProperty>
</Login>
现在我需要对这个xml文件的内容进行操作.
首先,我们需要加载这个xml文件,js中加载xml文件,是通过XMLDOM来进行的.
// 加载xml文档
loadXML    = function(xmlFile)
{
    var xmlDoc;
    if(window.ActiveXObject)
    {
        xmlDoc    = new ActiveXObject('Microsoft.XMLDOM');
        xmlDoc.async    = false;
        xmlDoc.load(xmlFile);
    }
    else if (document.implementation&&document.implementation.createDocument)
    {
        xmlDoc    = document.implementation.createDocument('', '', null);
        xmlDoc.load(xmlFile);
    }
    else
    {
        return null;
    }
   
    return xmlDoc;
}www.goodsgy.com

xml文件对象出来了, 接下去我就要对这个文档进行操作了.
比如说,我们现在需要得到节点Login/Weapon/W的第一个节点的属性,那么我们可以如下进行.www.goodsgy.com


// 首先对xml对象进行判断
checkXMLDocObj    = function(xmlFile)
{
    var xmlDoc    = loadXML(xmlFile);
    if(xmlDoc==null)
    {
        alert('您的浏览器不支持xml文件读取,于是本页面禁止您的操作,推荐使用IE5.0以上可以解决此问题!');
        window.location.href='/Index.aspx';
    }
   
    return xmlDoc;
}www.goodsgy.com

// 然后开始获取需要的Login/Weapon/W的第一个节点的属性值
var xmlDoc    = checkXMLDocObj('/EBS/XML/Login.xml');
var v    = xmlDoc.getElementsByTagName('Login/Weapon/W')[0].childNodes.getAttribute('Text')
而我在我的程序中的写法是这样子的,当然我在程序中的写法是已经应用到实际中的了.一并给出来,以供查看
initializeSelect    = function(oid, xPath)
{
    var xmlDoc    = checkXMLDocObj('/EBS/XML/Login.xml');
    var n;
    var l;
    var e    = $(oid);
    if(e!=null)
    {
        n    = xmlDoc.getElementsByTagName(xPath)[0].childNodes;
        l    = n.length;
        for(var i=0; i<l; i++)
        {
            var option    = document.createElement('option');
            option.value    = n[i].getAttribute('Value');
            option.innerHTML    = n[i].getAttribute('Text');
            e.appendChild(option);
        }
    }
}
上面的访问代码中,我们是通过xmlDoc.getElementsByTagName(xPath)来进行的.
还可以通过xmlDoc.documentElement.childNodes(1)..childNodes(0).getAttribute('Text')进行访问.
一些常用方法:
xmlDoc.documentElement.childNodes(0).nodeName,可以得到这个节点的名称.
xmlDoc.documentElement.childNodes(0).nodeValue,可以得到这个节点的值. 这个值是来自于这样子的xml格式:<a>b</b>, 于是可以得到b这个值.
xmlDoc.documentElement.childNodes(0).hasChild,可以判断是否有子节点www.goodsgy.com

根据我的经验,最好是使用getElementsByTagName(xPath)的方法对节点进行访问,因为这样子可以直接通过xPath来定位节点,这样子会有更好的性能. www.goodsgy.com

http://www.cnblogs.com/skylaugh/archive/2006/09/15/505393.htmlwww.goodsgy.com

在百度中搜索:Javascript+XML 操作
在Google中搜索:Javascript+XML 操作
在Yahoo中搜索:Javascript+XML 操作

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]

 相关文章    最新文章
· Linux操作系统下的三种Java环境配置方法
· 面向Java程序员的db4o指南: 数组和集合
· Java与.NET 谁才能主宰未来?
· Java编程技术中汉字问题的分析及解决
· Java 泛型的理解与等价实现
· 在Java中利用JCOM实现仿Excel编程详解
· [图文] Java小技巧:关于Cookie的操作
· Java中消除实现继承和面向接口编程
· Java实战篇:设计自己的Annotation
· 使用Java程序的泛型应该注意的几个地方
 
· 用JS解决网站防挂iframe木马的方案
· 技巧 JavaScript常用判断函数
· IE浏览器中一个值得关注的JS问题
· 简易实现DIV圆角的JavaScript代码
· Javascript调用XML制作连动下拉框
· Javascript实现页内查找关键词实例
· JavaScript的系统函数学习
· JavaScript仿Windows关机效果
· javascript弹出窗口问题总结
· 在JS中使用RecordSet对象的GetRows方法

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:goodsgy(#)hotmail.com   (把(#)替换成@)
MSN:goodsgy(#)hotmail.com   (把(#)替换成@)