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. 面试之SQL(1)--选出选课数量>=2的学号

    ID      Course 1 AA 1 BB 2 AA 2 BB 2 CC 3 AA 3 BB 3 CC 3 DD 4 AA NULL NULL 选出选课数量>=2的学号 select di ...

  2. WinDbg加载不同版本CLR

    WinDbg调试.net2.0和.net4.0程序有所不同,因为.net4.0使用新版本的CLR.例如: mscoree.dll 变为 mscoree.dll 和 mscoreei.dll, msco ...

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

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

  4. python(17)- 迭代器和生成器及应用

    什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代对象 ...

  5. soapUI学习笔记--用例字段参数化

    字段参数化的简单操作 1.把Request新增一个TestCase 增加TestCase,下方会出现: 2.案例中,请求参数只有一个.先运行下请求,可以运行成功(保证接口是通的) 3.添加参数.见图中 ...

  6. Leetcode题解(4):L216/Combination Sum III

    L216: Combination Sum III Find all possible combinations of k numbers that add up to a number n, giv ...

  7. pyqt5 学习总结

    关于基类 一般的文件都会基于QWidget,QtWidgets.QMainWindow 或QDialog,like this class Example(QWidget): QWidget类是所有用户 ...

  8. ipython notebook 如何打开.ipynb文件?

    标签: pythontensorflow 2017-03-29 14:17 235人阅读 评论(0) 收藏 举报  分类: TensorFlow(13)  转自:https://www.zhihu.c ...

  9. 针对基于Phison(群联)U盘的BadUSB攻击

    修改U盘固件使之在插入电脑时能执行键盘指令.原文和源码在此,粗略翻译了一下.https://github.com/adamcaudill/Psychson 其实还有类似的成品卖,叫做USB Rubbe ...

  10. mysql判断是否等于某个值

    需要在其后面加.toString()方法,其中 flag为字符串类型