我对使用XML非常陌生,并且想知道是否有人可以帮助我入门?
我正在尝试编写一个VBA函数,它可以输出一个只包含List Names的数组[即数组(" Recon"," Safety"," Performance&#34) )]。
我还需要具有输出数组的功能,只需要一个特定的" To"节点的文字。例如,我可以调用该函数来提取参考Recon列表的CC的名称[即数组(" Jane"," Ashley")或数组("简;阿什利;") - 无论哪种输出对我来说都是最有意义的)
另外,如果有更好的方法来构建这个XML,我会接受改变,因为我从头开始编写这个,我的VBA用户表最终会创建并修改这个文件。
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<DistributionLists>
<List>
<Name>Recon</Name>
<TO>John;Bob;Rob;Chris;</TO>
<CC>Jane;Ashley;</CC>
<BCC>Brent;</BCC>
</List>
<List>
<Name>Safety Metrics</Name>
<TO></TO>
<CC></CC>
<BCC></BCC>
</List>
<List>
<Name>Performance Report</Name>
<TO></TO>
<CC></CC>
<BCC></BCC>
</List>
</DistributionLists>
<Presets>
</Presets>
</Settings>
答案 0 :(得分:1)
以下是获取To
数组的示例。获得其他阵列/节点的良好起点。
Function GetToArr()
Dim XDoc As Object
Dim xEmpDetails As Object
Dim xEmployee As Object
Dim xChild As Object
Set XDoc = CreateObject("MSXML2.DOMDocument")
XDoc.async = False
XDoc.validateOnParse = False
XDoc.Load ("C:\[path]\test.xml")
Set items = XDoc.DocumentElement
Set Item = items.ChildNodes(0)
Set Item = Item.FirstChild
Set Item = Item.ChildNodes(1)
GetToArr = Split(Item.Text, ";")
End Function
Sub TestGetToArr()
For Each it In GetToArr()
Debug.Print it
Next it
End Sub
结果:
John
Bob
Rob
Chris