遍历xml删选_excelXML文档 XML文档元素的遍历、添加和删除操作的方法

本文介绍了如何在Excel中利用VBA和DOM对象对XML文档进行操作,包括遍历XML元素、添加新的元素(如入学日期)以及删除指定元素。通过示例代码展示了如何实现这些功能,帮助读者掌握XML文档的处理技巧。
摘要由CSDN通过智能技术生成

d088b5b7822f216b80b209f6c0dc4427.png

excelXML文档 XML文档元素的遍历、添加和删除操作的方法,【excel助手】今天为大家分享一篇干货知识,如何设置excelXML文档countif函数查重复excelXML文档 XML文档元素的遍历、添加和删除操作的方法”快跟着小编来看看这一干货文章吧!

借助于DOM对象,在Excel中,用户可以编写VBA程序方便地对XML文件进行读取、遍历、修改以及删除等操作。本文分别介绍XML文档元素的遍历、添加和删除操作的方法。

1、启动Excel并创建一个新文档,打开Visual Basic编辑器,创建一个模块,在模块的“代码”窗口中输入如下代码。按F5键运行程序代码,在“立即窗口”中显示XML文档数据,如图1所示。

Sub GetXMLNode()

Dim xmldoc As DOMDocument

Dim nodeList As IXMLDOMNodeList

Dim node As IXMLDOMNode

Set xmldoc=New DOMDocument

xmldoc.async=False

xmldoc.Load ThisWorkbook.Path&"\学生信息.xml" '加载XML数据文档

Set nodeList=xmldoc.getElementsByTagName("学生信息") '获取学生信息节点序列

For Each node In nodeList '遍历节点序列中所有节点

Debug.Print node.XML '输出当前节点的XML字符串

Next

Set node=Nothing

Set nodeList=Nothing

Set xmldoc=Nothing

End Sub

eecb9458baf6f79c408d7dd4b6c5e17c.png

图1 在“立即窗口”中显示XML文档数据

2、在“代码”窗口中继续输入如下程序代码。运行程序代码,在“立即窗口”中可以看到程序运行的结果。此时,学生信息节点都添加了“入学日期”节点项,如图2所示。程序在当前Excel文档相同的文件夹中生成名为“学生信息New.xml”的文件,其中学生信息的节点添加了相应的“入学日期”节点项,并且这些节点都以当前时间作为初始设置数据,如图3所示。

Sub AddElement()

Dim xmldoc As DOMDocument

Dim node As IXMLDOMNode

Dim rootNode As IXMLDOMNode

Dim newNode As IXMLDOMNode

Dim rtnnode As IXMLDOMNode

Set xmldoc=New DOMDocument

xmldoc.Load ThisWorkbook.Path&"\学生信息.xml" '加载XML数据文档

Set rootNode=xmldoc.DocumentElement '获取文档根节点

For Each node In rootNode.ChildNodes '遍历根节点所有学生信息子节点

Set newNode=xmldoc.createElement("入学日期") '创建"入学日期"元素节点

Set rtnnode=node.appendChild(newNode) '将新节点插入到当前学生信息节点

rtnnode.Text=Format(Now,"yyyy-mm-dd") '设置当前插入节点的文本信息

Debug.Print node.XML '输出当前学生信息节点的XML字符串

Next

On Error Resume Next

Kill ThisWorkbook.Path&"\学生信息New.xml" '删除临时文档

On Error GoTo 0

xmldoc.Save ThisWorkbook.Path&"\学生信息New.xml" '保存XML文档

Set node=Nothing

Set xmldoc=Nothing

End Sub

7878febdcf6a3a59e99ea1361f4f9ef6.png

图2 “立即窗口”中显示的程序运行结果

7c4aff2124c8cb9b12996f599a93ad9c.png

图3 XML文档中添加了新的节点项

提示

程序使用For...Each In结构遍历XML文档的所有节点,使用节点对象的AppendChild方法来实现节点的添加。在默认情况下,AppendChild方法将新建立的节点插入到父节点中最后一个子节点之后。如果需要将节点插入到其他节点之前,则需要使用InsertBefore方法。该方法除了接受节点对象参数外,还接受目标节点对象,插入节点将位于该目标节点之前。

3、在“代码”窗口中输入如下代码。运行程序代码,在“立即窗口”中显示程序运行结果。这里,“入学日期”节点项已经被移除,如图4所示。打开“学生信息New.xml”文件,可以查看到删除XML文档元素后的文档内容,如图5所示。

Sub DeleteElement()

Dim xmldoc As DOMDocument

Dim node As IXMLDOMNode,rootNode As IXMLDOMNode

Set xmldoc=New DOMDocument

xmldoc.Load ThisWorkbook.Path&"\学生信息New.xml" '加载XML数据文档

Set rootNode=xmldoc.DocumentElement '获取根节点

For Each node In rootNode.ChildNodes '遍历所有"学生信息"

node.RemoveChild node.ChildNodes(node.ChildNodes.Length-1) '移除"入学日期"节点

Debug.Print node.XML '输出节点的XML字符串

Next

On Error Resume Next

Kill ThisWorkbook.Path&"\学生信息New.xml" '删除临时文档

On Error GoTo 0

xmldoc.Save ThisWorkbook.Path&"\学生信息New.xml" '重新保存文档

Set node=Nothing

Set xmldoc=Nothing

End Sub

5114c706b6b2ed6445d3787965c5b8ad.png

图4 “立即窗口”中显示程序运行结果

775bfdcd789f1b085811807008a2f5ee.png

图5 XML文档中的数据结构

提示

程序中使用RemoveChild方法将“入学日期”节点项从XML文档中移除。

以上就是excelXML文档 XML文档元素的遍历、添加和删除操作的方法全部内容了,希望大家看完有所启发,对自己的工作生活有所帮助,想要了解更多跟excelXML文档 XML文档元素的遍历、添加和删除操作的方法请关注我们优词网!

28ba8f67f4356d9c04a4d05d1e7dcfb3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值