'{ 解析每个子结点的值到各个属性。Cable Fan 2009-08-14 } Public Sub Analysis() Dim i As Integer Dim Root As IXMLDOMNode Dim Node As IXMLDOMNode Set Root = XmlDoc.documentElement If Root Is Nothing Then MsgBox "无法读取XML配置!" Else For i = 0 To Root.childNodes.Length - 1 Set Node = Root.childNodes(i) Select Case Node.nodeName Case "publish" LoadPublish Node '发布信息。 Case "paths" LoadPaths Node ' 装载下载路径。 Case "files" LoadFiles Node ' 装载文件列表。 End Select Next End If End Sub '{ 装载下载路径。Cable Fan 2009-08-14 } Private Sub LoadPublish(PNode As IXMLDOMNode) On Error GoTo CATCH ' 遍历所有文件子结点。 Dim Node As IXMLDOMNode Dim Attr As IXMLDOMNode Dim i As Integer For i = 0 To PNode.childNodes.Length - 1 Set Node = PNode.childNodes(i) Select Case Node.nodeName Case "force" m_Force = (Node.Text = "1") Case "publishDate" m_PublishDate = CDate(Node.Text) Case "version" m_Version = Node.Text Case "remark" m_Remark = Node.Text Case "run" m_RunCmd = Node.Text End Select Next Exit Sub CATCH: Err.Raise MODULEID + 12, "XMLConfiguration.LoadPublish" Err.Clear End Sub '{ 装载下载路径。Cable Fan 2009-08-14 } Private Sub LoadPaths(PNode As IXMLDOMNode) On Error GoTo CATCH ' 遍历所有文件子结点。 Dim Node As IXMLDOMNode Dim Attr As IXMLDOMNode Dim i As Integer For i = 0 To PNode.childNodes.Length - 1 Set Node = PNode.childNodes(i) Select Case Node.nodeName Case "configUrl" Set Attr = Node.Attributes.getNamedItem("url") If Not Attr Is Nothing Then m_ConfigUrl = Attr.nodeValue Case "configPath" Set Attr = Node.Attributes.getNamedItem("path") If Not Attr Is Nothing Then m_ConfigPath = Attr.nodeValue Case "baseUrl" Set Attr = Node.Attributes.getNamedItem("url") If Not Attr Is Nothing Then m_BaseUrl = Attr.nodeValue Case "localPath" Set Attr = Node.Attributes.getNamedItem("path") If Not Attr Is Nothing Then m_LocalPath = Attr.nodeValue Case "remotePath" Set Attr = Node.Attributes.getNamedItem("path") If Not Attr Is Nothing Then m_RemotePath = Attr.nodeValue End Select Next Exit Sub CATCH: ' Err.Raise MODULEID + 12,"XMLConfiguration.LoadPaths" ' Err.Clear End Sub '{ 装载下载路径。Cable Fan 2009-08-14 } Private Sub LoadPaths(PNode As IXMLDOMNode) On Error GoTo CATCH ' 遍历所有文件子结点。 Dim Node As IXMLDOMNode Dim Attr As IXMLDOMNode Dim i As Integer For i = 0 To PNode.childNodes.Length - 1 Set Node = PNode.childNodes(i) Select Case Node.nodeName Case "configUrl" Set Attr = Node.Attributes.getNamedItem("url") If Not Attr Is Nothing Then m_ConfigUrl = Attr.nodeValue Case "configPath" Set Attr = Node.Attributes.getNamedItem("path") If Not Attr Is Nothing Then m_ConfigPath = Attr.nodeValue Case "baseUrl" Set Attr = Node.Attributes.getNamedItem("url") If Not Attr Is Nothing Then m_BaseUrl = Attr.nodeValue Case "localPath" Set Attr = Node.Attributes.getNamedItem("path") If Not Attr Is Nothing Then m_LocalPath = Attr.nodeValue Case "remotePath" Set Attr = Node.Attributes.getNamedItem("path") If Not Attr Is Nothing Then m_RemotePath = Attr.nodeValue End Select Next Exit Sub CATCH: ' Err.Raise MODULEID + 12,"XMLConfiguration.LoadFiles" ' Err.Clear End Sub |