Sometimes, we have to use AutoIt script to edit an xml, add a node or remove a node, to make some deployment documents fitable to some project.

I have picked up a piece of script function about it as below:

Func append_node($SourceFile)
$objDom = ObjCreate("Microsoft.XMLDOM")
$objDom.load($SourceFile)
$objRoot = $objDom.documentElement.selectSingleNode('//Left') ;Add a child node
$child1 = $objDom.createElement("rootElement")
$child1.text = "Child1"
$child1.setAttribute("Att1Child1","Child1_TextAtt1")
$objRoot.appendChild($child1) ;Add a grandchild node
$objChild1 = $objDom.createElement("childElement1")
$objChild1.text = "objChild1"
$objChild1.setAttribute("Att1ObjChild1","obj_Child1_TextAtt1")
$child1.appendChild($objChild1) ;Add a grandchild node
$objChild2 = $objDom.createElement("childElement2")
$objChild2.text = "objChild2"
$objChild2.setAttribute("Att2ObjChild2","obj_Child2_TextAtt21")
$child1.appendChild($objChild2) $objDom.save($SourceFile)
EndFunc Func remove_node($SourceFile)
$oXML = ObjCreate("Microsoft.XMLDOM")
$oXML.Load($SourceFile)
$oNode = $oXML.documentElement.selectSingleNode('//Left')
;$oNode.parentNode.removeChild($oNode)
$remove_node = $oXML.documentElement.selectSingleNode('//Left/NewChild1')
;Remove the child node
$oNode.removeChild($remove_node)
$oXML.save($SourceFile)
EndFunc $SourceFile = "STRPControl.xml"
append_node($SourceFile)

AutoIt with XML: Add a child/grandchild node or remove any node的更多相关文章

  1. node.js&pm2搭建node生产环境

    node.js下载地址https://nodejs.org/en/download/stable/ 下载截图 建议采用稳定编译过的版本,source code稍麻烦,编译过的直接可用,安装超级简单,红 ...

  2. LeetCode解题报告—— 4Sum & Remove Nth Node From End of List & Generate Parentheses

    1. 4Sum Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + ...

  3. Node.js入门:Node.js&NPM的安装与配置

    Node.js安装与配置      Node.js已经诞生两年有余,由于一直处于快速开发中,过去的一些安装配置介绍多数针对0.4.x版本而言的,并非适合最新的0.6.x的版本情况了,对此,我们将在0. ...

  4. 63. Swap Nodes in Pairs && Rotate List && Remove Nth Node From End of List

    Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For exam ...

  5. LeetCode: Remove Nth Node From End of List 解题报告

    Remove Nth Node From End of List Total Accepted: 46720 Total Submissions: 168596My Submissions Quest ...

  6. Merge Two Sorted Lists & Remove Nth Node From End of List

    1.合并两个排好序的list Merge Two Sorted Lists Merge two sorted linked lists and return it as a new list. The ...

  7. Leetcode 19——Remove Nth Node From End of List

    Given a linked list, remove the nth node from the end of list and return its head. For example, Give ...

  8. java Queue中 add/offer,element/peek,remove/poll区别

    转自https://blog.csdn.net/u012050154/article/details/60572567 java Queue中 add/offer,element/peek,remov ...

  9. 【Node.js】利用node.js搭建服务器并访问静态网页

    node.js是一门服务端的语言,下面讲讲如何利用node.js提供给我们的api来搭建服务器,并且访问静态网页 项目结构如下 ------------------------------------ ...

随机推荐

  1. Exchange 2013 Database Move to New Partition

    建议不要删除默认数据库,可以通过修改默认数据库名称.路径等实现您的需求. 客戶:The HK Anti-Cancer Society. 要求:遷移數據庫(01)到新分區,實際是遷移成為數據庫(05)  ...

  2. C# Ftp方式下载文件(无用户认证方式,支持断点续传)

    类代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...

  3. Objective C block背后的黑魔法

    前言 block在Objective C开发中应用非常广泛,我们知道block会捕获外部对象,也知道使用block要防止循环引用. "知其然而不知其所以然"是一件非常痛苦的事情,那 ...

  4. nyoj 135 取石子(二) 【NIM】

    取石子(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:5 描写叙述 小王喜欢与同事玩一些小游戏.今天他们选择了玩取石子. 游戏规则例如以下:共同拥有N堆石子.已知每堆中石子 ...

  5. mysql查询处理顺序

    http://zhangzhaoaaa.iteye.com/blog/1689412参考:<MYSQL技术内幕SQL编程> select distinct <selectlist&g ...

  6. 升级OpenSSL修复高危漏洞Heartbleed

    升级OpenSSL修复高危漏洞Heartbleed 背景:          OpenSSL全称为Secure Socket Layer.是Netscape所研发.利用数据加密(Encryption) ...

  7. kubernetes集群管理命令(三)

    系列目录 前面两节我们由浅入深介绍了不少kubernetes管理比较常用的命令.本节我们通过案例讲解一些需要更为复杂的操作才能完成的命令. 选择一个deployment下的所有pod 前面讲到过,ku ...

  8. javaScript和jQuery自动加载方法

    一.JavaScript自动加载 ①在文本中用onload: 当页面中所有内容(包括图片)加载完后再执行onload,如下: <body onload="alert(1)"& ...

  9. checkAll全选的一个小例子

    function checkAll(tag,flag) { //得到所有check var checkboxs = $(tag).closest("table").find(&qu ...

  10. 九度OJ 1129:Skew数 (大数运算)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:734 解决:548 题目描述: 在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1).  每个位上的可能数字是0 ...