从欧洲央行读取的VB.net xml货币汇率

时间:2015-06-07 11:29:46

标签: xml vb.net ms-access

我需要从网上下载xml文件,将其读取并将数据插入MS SQL服务器表。

我使用this guide(VBA + Access表单)

非常成功

不幸的是,我不能使用这个解决方案,因为客户端需要安装MS Access(由于某些原因在运行时模式下不能工作),即便在VBA中我还有其他一些问题等等。

是否有人可以帮助我将此代码转换为VB.net - 我正在Visual Studio中构建一个小应用程序。我甚至从头开始尝试过,但这个XML有点奇怪。

编辑:感谢rskar,我尝试了他提供的链接,到目前为止能够重复示例xml的结果,但我不能为我的xml做。我的进展如下(忽略源代码示例中的一些注释):

Public Sub Main()
    Try
        Dim m_xmld As XmlDocument
        Dim m_nodelist As XmlNodeList
        Dim m_node As XmlNode
        'Create the XML Document
        m_xmld = New XmlDocument()
        'Load the Xml file
        m_xmld.Load("C:\CurrencyImport\Temp\eurofxref-daily.xml")
        'Get the list of name nodes 
        m_nodelist = m_xmld.SelectNodes("/gesmes:Envelope/Cube/Cube/Cube")
        'Loop through the nodes
        For Each m_node In m_nodelist
            'Get the Gender Attribute Value
            Dim genderAttribute = m_node.Attributes.GetNamedItem("currency").Value



            MsgBox(genderAttribute)
        Next
    Catch errorVariable As Exception
        'Error trapping
        Console.Write(errorVariable.ToString())
    End Try
End Sub

编辑:当我“清理”节点“gesmes:envelope”的原始xml并更改了m_nodelist = m_xmld.SelectNodes(“/ Cube / Cube / Cube”)时,它可以工作,但我无法获得它可以与原始的xml一起使用......可能是节点路径的sintax。

解决方案:这是xpath的解决方案:m_nodelist = m_xmld.SelectNodes(“// * [@ currency]”)。没有找到任何其他方法来使用原始文件。

0 个答案:

没有答案