• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    javascript操作xml(增删改查)例子代码hta版

    包括了stu.hta(是HTML应用程序);
         stu.xml
    注意下面的HTML代码必须保存为后缀名为hta否则当对XML文件进行操作(增删改)的时候就会提示没有权限!!

    文件stu.hta代码如下:

    复制代码 代码如下:

    html>
    head>
    title> 数据岛的显示 /title>
    style type="text/css">
    #findPanel
    {
    position:absolute;
    width:220px;
    border:1px solid #666666;
    }
    #findPanelTitle
    {
    height:10px;
    background-color:#336699;
    cursor:move;
    }
    #findPanelContent
    {
    padding:5px 5px 5px 5px;
    background-color:#6699CC;
    }
    /style>
    /head>
    body>
    SCRIPT LANGUAGE="JavaScript">
    !--
    var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
    xmlDoc.async = false;
    xmlDoc.resolveExternals = false;
    xmlDoc.load("stu.xml");
    //alert(xmlDoc.xml);
    //显示数据
    function show(){
    var vbo = document.getElementById("s").value;
    if(vbo=="显示学生信息"){
    document.getElementById('info').style.visibility='visible';
    document.getElementById("s").value="隐藏学生信息";
    }else{
    document.getElementById('info').style.visibility='hidden';
    document.getElementById("s").value="显示学生信息";
    }
    }
    //查找
    function que(){
    document.getElementById("ad").style.visibility="visible";
    document.getElementById("qmd").style.visibility="visible";
    }
    /**
    * 解析XML文件函数
    * @param xmlDoc XML对象
    * @param name 属性名称 格式如:user.name
    */
    function getXMLProperty(xmlDoc, name) {
    var keys = name.split('.');
    var node = xmlDoc.documentElement;
    for(var i=0; ikeys.length; i++) {
    var childs = node.childNodes;
    var key = keys[i];
    for(var k=0; kchilds.length; k++) {
    var child = childs[k];
    if(child.nodeName == key) {
    if(child.childNodes.length == 1) {
    return child.text;
    } else {
    node = child;
    break;
    }
    }
    }
    }
    return "";
    }
    //返回父节点(通过节点名字和节点值)
    function getNod(nam,val){
    var node = xmlDoc.documentElement;
    var childs = node.childNodes;
    for (var i=0;ichilds.length ;i++ )
    {
    var child = childs[i];
    var childms = child.childNodes;
    for(var k=0;kchildms.length;k++){
    var childm = childms[k];
    if(childm.nodeName == nam (childm.text).substring(0,6)==val){
    //alert(val);
    return child;
    }
    }
    }
    return '';
    }
    //通过父节点和子节点名返回子节点值
    function getNodVal(nods,nam){
    var childms = nods.childNodes;
    for(var k=0;kchildms.length;k++){
    var childm = childms[k];
    if(childm.nodeName == nam){
    //alert(childm.text);
    return childm.text;
    }
    }
    return '';
    }
    //通过父节点和子节点名返回子节点
    function getCurNod(nods,nam){
    var childms = nods.childNodes;
    for(var k=0;kchildms.length;k++){
    var childm = childms[k];
    if(childm.nodeName == nam){
    //alert(childm.text);
    return childm;
    }
    }
    return '';
    }
    //开始查找
    function query(){
    var renum = /^\d{5}$/;
    if(renum.exec(xh.value)){
    if(xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]")){
    var nod = getNod('学号',xh.value);
    //getNodVal(nod,'姓名');
    //getNodVal(nod,'性别');
    //getNodVal(nod,'籍贯');
    /*document.getElementById("xm").value=xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]").selectSingleNode("学生/姓名").text;
    document.getElementById("xb").value=xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]").selectSingleNode("学生/性别").text;
    document.getElementById("jg").value=xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]").selectSingleNode("学生/籍贯").text;
    document.getElementById("xh").disabled="true"; */
    document.getElementById("xm").value=getNodVal(nod,'姓名');
    document.getElementById("xb").value= getNodVal(nod,'性别');
    document.getElementById("jg").value= getNodVal(nod,'籍贯');
    }else{
    alert("该学号还没有被占用!");
    }
    }else{
    alert("学号非法!学号5位数字!");
    return false;
    }
    }
    //修改
    function mod(){
    if(info_check()){
    if(xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]")){
    if(confirm("确认修改?")){
    var nod = getNod('学号',xh.value);
    getCurNod(nod,'姓名').text=xm.value;
    getCurNod(nod,'性别').text=xb.value;
    getCurNod(nod,'籍贯').text=jg.value;
    /*
    xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]").selectSingleNode("学生/姓名").text=xm.value;
    xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]").selectSingleNode("学生/性别").text=xb.value;
    xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]").selectSingleNode("学生/籍贯").text=jg.value;
    */
    saveXML();
    //document.getElementById("xh").disabled="false";
    document.getElementById("xh").value="";
    document.getElementById("xm").value="";
    document.getElementById("xb").value="";
    document.getElementById("jg").value="";
    document.getElementById("ad").style.visibility="hidden";
    document.getElementById("qmd").style.visibility="hidden";
    alert("修改成功!");
    location.reload();
    }
    }else{
    alert("该学号还没有被占用!请按学号查询再进行修改!");
    return false;
    }
    }
    }
    //新增学生
    function add(){
    var vadd = document.getElementById("add").value;
    if(vadd=="新增"){
    document.getElementById("xh").value="";
    document.getElementById("xm").value="";
    document.getElementById("xb").value="";
    document.getElementById("jg").value="";
    document.getElementById("qmd").style.visibility="hidden";
    document.getElementById('info').style.visibility='hidden';
    document.getElementById("s").value="显示学生信息";
    document.getElementById("ad").style.visibility="visible";
    document.getElementById("add").value="保存";
    document.getElementById("can").style.visibility="visible";
    }else{
    if(info_check()){
    add_node();
    saveXML();
    document.getElementById("xh").value="";
    document.getElementById("xm").value="";
    document.getElementById("xb").value="";
    document.getElementById("jg").value="";
    document.getElementById("ad").style.visibility="hidden";
    document.getElementById("qmd").style.visibility="hidden";
    document.getElementById("add").value="新增";
    alert("新增成功!");
    location.reload();
    }
    }
    }
    //删除学生
    function del(){
    var renum = /^\d{5}$/;
    if(renum.exec(document.getElementById("xh").value)){
    if(xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]")){
    if(confirm("确认删除?")){
    /*var node = xmlDoc.selectSingleNode("/学生管理[学生/学号="+xh.value+"]");
    if(node.hasChildNodes()){
    var kids = node.childNodes;
    for(var i=0;ikids.length;i++){
    del();
    }
    }
    node.parentNode.removeChild(node);
    */
    var nod = getNod('学号',xh.value);
    nod.parentNode.removeChild(nod);
    saveXML();
    can();
    alert("删除成功!");
    location.reload();
    }
    }else{
    alert("该学号还没有被占用!请按学号查询再进行修改!");
    return false;
    }
    }else{
    alert("学号非法!为5位数字!");
    return false;
    }
    }
    //取消新增
    function can(){
    document.getElementById("xh").value="";
    document.getElementById("xm").value="";
    document.getElementById("xb").value="";
    document.getElementById("jg").value="";
    document.getElementById("ad").style.visibility="hidden";
    document.getElementById("can").style.visibility="hidden";
    document.getElementById("qmd").style.visibility="hidden";
    document.getElementById("add").value="新增";
    }
    //增加结点
    function add_node(){
    var oxh = xmlDoc.createElement("学号");
    oxh.appendChild(xmlDoc.createTextNode(xh.value));
    var oxm = xmlDoc.createElement("姓名");
    oxm.appendChild(xmlDoc.createTextNode(xm.value));
    var oxb = xmlDoc.createElement("性别");
    oxb.appendChild(xmlDoc.createTextNode(xb.value));
    var ojg = xmlDoc.createElement("籍贯");
    ojg.appendChild(xmlDoc.createTextNode(jg.value));
    var oxs = xmlDoc.createElement("学生");
    oxs.appendChild(oxh);
    oxs.appendChild(oxm);
    oxs.appendChild(oxb);
    oxs.appendChild(ojg);
    var parent = xmlDoc.selectSingleNode("/学生管理");
    if(parent.hasChildNodes()) {
    parent.insertBefore(oxs,parent.firstChild);
    }else{
    parent.appendChild(oxs);
    }
    }
    //保存XML
    function saveXML(){
    xmlDoc.save("stu.xml");
    }
    //验证新增数据
    function info_check(){
    var renum = /^\d{5}$/;
    var rec = /^[\u4E00-\u9FA5]{2,5}$/;
    if(!renum.exec(document.getElementById("xh").value)){
    alert("学号非法!为5位数字!");
    return false;
    }
    if(!rec.exec(xm.value)){
    alert("姓名非法!只能是中文最少两个字,最多不得超过5个字!");
    return false;
    }
    //alert(xb.value!="男");
    switch(xb.value){
    case "男":break;
    case "女":break;
    default:alert("性别只能是\"男\"或\"女\"!"); return false;
    }
    if(!rec.exec(jg.value)){
    alert("籍贯非法!只能是中文最少两个字,最多不得超过5个字!!");
    return false;
    }
    return true;
    }
    //-->
    /SCRIPT>
    input id="s" type=button value="显示学生信息" onclick="show();">
    input id="que" type=button value="精确查询" onclick="que();">
    input id="add" type=button value="新增" onclick="add();">
    input id="can" type=button value="取消" onclick="can();" style="visibility:hidden">
    br>
    center>
    div id="ad" style="visibility:hidden">
    table>tr>td>学号:
    input type=text id="xh" style="ime-mode:disabled" size=5 maxlength=5 onKeyPress="if ((event.keyCode48 || event.keyCode>57)) event.returnValue=false">!-- style 用于光闭输入法 onKeyPress 只能输入数字-->
    /td>td>姓名:
    input type=text id="xm" size=10 maxlength=5>
    /td>td>性别:
    input type=text id="xb" size=5 maxlength=5>
    /td>td>籍贯:
    input type=text id="jg" size=10 maxlength=5>
    /td>
    /tr>
    /table>
    /div>
    div id="qmd" style="visibility:hidden">
    table>
    tr align="center">
    td>/td>
    td>input id="que" type=button value="查询" onclick="query();">/td>
    td>input id="mod" type=button value="修改" onclick="mod();">/td>
    td>input id="del" type=button value="删除" onclick="del();">/td>
    /tr>
    /table>
    /div>
    /center>
    div id="findPanel">
    div id="findPanelTitle">可拖动/div>
    div id="findPanelContent">
    input type="text" size="20" value="a" id="key" onkeydown="javascript:ChckSubmit(event);">
    input type="button" value="查找" onclick="javascript:OnKeySubmit();">
    /div>
    /div>
    script language="javascript">
    !--
    var findPanel = document.getElementById("findPanel");
    var findPanelTitle = document.getElementById("findPanelTitle");
    var findPanelContent = document.getElementById("findPanelContent");
    var findPanel_orgnX = 50;
    var findPanel_orgnY = 50;
    //设置物件位置
    findPanel.style.pixelLeft = document.body.scrollLeft + findPanel_orgnX;
    findPanel.style.pixelTop = document.body.scrollTop + findPanel_orgnY;
    //================================================================================
    var foundCnt = 0; //已经找到了的结果的数量
    //查找入口函数
    function Find(key)
    {
    if (key == "")
    {
    return;
    }
    if (document.all)
    {
    IEFind(key);
    }
    else
    {
    NSFind(key);
    }
    }
    //浏览器为 IE 系列
    function IEFind(key)
    {
    var rng = document.body.createTextRange();
    var found = false;
    for (var i=0; i=foundCnt (found=rng.findText(key)); i++)
    {
    rng.moveStart("character", 1); //找到,后移一位以查找下一个
    }
    if (found)
    {
    rng.moveStart("character", -1);
    rng.findText(key);
    rng.select();
    rng.scrollIntoView();
    foundCnt++;
    }
    else
    {
    if (foundCnt > 0)
    {
    //已经查找一遍,找到有符合条件的结果,重新开始查找
    foundCnt = 0;
    IEFind(key);
    }
    else
    {
    //已经查找一遍,没有找到符合条件的结果
    alert("文档搜索完毕。");
    }
    }
    }
    //浏览器为 NS 系列
    function NSFind(key)
    {
    if (window.find(key))
    {
    foundCnt++;
    }
    else
    {
    var found = false;
    while (window.find(key, false, true))
    {
    found = true;
    }
    if (found)
    {
    //已经查找一遍,找到有符合条件的结果,重新查找也已经开始
    foundCnt = 1;
    }
    else
    {
    //已经查找一遍,没有找到符合条件的结果
    alert("文档搜索完毕。");
    }
    }
    }
    function OnKeySubmit()
    {
    var key = document.getElementById("key");
    Find(key.value);
    }
    function ChckSubmit(e)
    {
    if (e.keyCode == 13)
    {
    OnKeySubmit();
    }
    }
    //================================================================================
    function RePosFindPanel()
    {
    findPanel.style.pixelLeft = document.body.scrollLeft + findPanel_orgnX;
    findPanel.style.pixelTop = document.body.scrollTop + findPanel_orgnY;
    }
    document.body.onscroll = RePosFindPanel;
    document.body.onresize = RePosFindPanel;
    //================================================================================
    //拖拽过程中相关变量
    var draging = false; //是否处于拖拽中
    var offsetX = 0; //X方向左右偏移量
    var offsetY = 0; //Y方向上下偏移量
    //准备拖拽
    function BeforeDrag()
    {
    if (event.button != 1)
    {
    return;
    }
    offsetX = document.body.scrollLeft + event.clientX-findPanel.style.pixelLeft;
    offsetY = document.body.scrollTop + event.clientY-findPanel.style.pixelTop;
    draging = true;
    }
    //拖拽中
    function OnDrag()
    {
    if(!draging)
    {
    return;
    }
    //更新位置
    findPanel_orgnX = event.clientX-offsetX;
    findPanel_orgnY = event.clientY-offsetY;
    event.returnValue = false;
    findPanel.style.pixelLeft = document.body.scrollLeft + event.clientX-offsetX;
    findPanel.style.pixelTop = document.body.scrollTop + event.clientY-offsetY;
    }
    //结束拖拽
    function EndDrag()
    {
    if (event.button != 1)
    {
    return;
    }
    draging = false;
    }
    findPanelTitle.onmousedown = BeforeDrag;
    document.onmousemove = OnDrag;
    findPanelTitle.onmouseup = EndDrag;
    //-->
    /script>
    xml id="stu" src="stu.xml">
    /xml>
    center>
    div id="info" style="visibility:hidden">
    table DATASRC=#stu border=1 style="background-color:#a9eeef; Border-color
    :red;" >
    caption>h2>学生信息管理/h2>/caption>
    thead> 
    th>学号/th>
    th>姓名/th>  
    th>性别/th>  
    th>籍贯/th> 
    /thead> 
    tr> 
    td>  
    div DATAFLD="学号">  
    /td>  
    td>  
    div DATAFLD="姓名">
    /td>  
    td>  
    div DATAFLD="性别">  
    /td>  
    td>  
    div DATAFLD="籍贯"> 
    /td> 
    /tr> 
    /table>
    /div>
    /center>
    /body>
    /html>

    xml文件如下(stu.xml)
    复制代码 代码如下:

    ?xml version="1.0" encoding="gb2312"?>
    学生管理>
    学生>
     学号>97001/学号>
     姓名>王五/姓名>
     性别>男 /性别>
     籍贯>上海/籍贯>
    /学生>
    学生>
     学号>97002/学号>
     姓名>李四 /姓名>
     性别>男 /性别>
     籍贯>浙江 /籍贯>
    /学生>
    学生>
      学号>97006 /学号>
      姓名>张三 /姓名>
      性别>男/性别>
      籍贯>浙江/籍贯>
    /学生>
    /学生管理>

    您可能感兴趣的文章:
    • js 如何实现对数据库的增删改查
    • javascript Xml增删改查(IE下)操作实现代码
    • JS对select控件option选项的增删改查示例代码
    • JavaScript针对网页节点的增删改查用法实例
    • node.js操作mysql(增删改查)
    • AngularJS中如何使用$http对MongoLab数据表进行增删改查
    • Node.js操作mysql数据库增删改查
    • javascript实现信息增删改查的方法
    • javascript js 操作数组 增删改查的简单实现
    • JS结合bootstrap实现基本的增删改查功能
    上一篇:XMLDOM下载者生成器代码(xmldown.hta)
    下一篇:离22周岁距离多长时间的计算[适合没到22周岁的朋友]
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    javascript操作xml(增删改查)例子代码hta版 javascript,操作,xml,增,删改,