如何使用visual basic创建XML文件

时间:2016-12-27 16:10:26

标签: xml vba visual-studio

我有一个问题,我想在visual studio中使用visual basic创建一个xml文件。

xml文件应该是这样的:

<?xml version="1.0" encoding="utf-8"?>
<Root Name="scenario">
  <Entries>
    <Entry Name="firstname" Value="gedaan" />
    <Entry Name="lastname" Value="salame" />
    <Entry Name="job" Value="Engineer" />
  </Entries>
</Root>

我搜索了很多,但没有发现任何有用的因为我想要的xml有点不同,没有这样的东西:<FirstName>gedaan</FirstName>,它只是<Entry Name="FirstName" Value="gedaan" />

请帮忙 感谢。

1 个答案:

答案 0 :(得分:0)

我以前做过这个。您将需要逐行打印XML。使用FileSystemObject创建空白.xml文件。然后打开.xml作为输出。接下来构建.xml字符串并将其打印到输出。

    Dim fs as Object
    Dim strWriteFileName , strWriteLine as string

    Set fs = CreateObject("Scripting.FileSystemObject")
    strWriteFileName = Forms!MAIN.OutputFile.value & ".xml"

    Open strWriteFileName For Output As #1
         strWriteLine = "<?xml version=""1.0"" encoding=""utf-8""?>"
         Print #1, strWriteLine
         strWriteLine = "<Root Name=""scenario"">"
         Print #1, strWriteLine
         strWriteLine = "<Entries>"
         Print #1, strWriteLine
         'Depending on XML schema here may be a good place for a Loop'
         strWriteLine = "<Entry Name=""firstname"" Value=""gedaan"" />"
         Print #1, strWriteLine
         strWriteLine = "<Entry Name=""lastname"" Value=""salame"" />"
         Print #1, strWriteLine
         strWriteLine = "<Entry Name=""job"" Value=""Engineer"" />"
         Print #1, strWriteLine
         'And here may be a good place to end the loop'
         strWriteLine = "</Entries>"
         Print #1, strWriteLine
         strWriteLine = "</Root>"
         Print #1, strWriteLine
   Close #1
   set fs = Nothing

这将打印上面的内容。如果您需要添加多个条目,只需抛出一个循环即可打印更多名称。我还使用了一个名为MAIN的表单和一个名为OutputFile的文本框,因此可以随意替换那些你需要的文本框。