VB.Net创建XML文件的方法

下面所写方法是在网络资料的基础上,经过自己的实验而得出的。

 

使用VB.Net创建XML文件有两种方法,下面逐一介绍:

假设要创建如下的XML文件:

  1. xml version="1.0" encoding="UTF-8"?>
  2. <root>
  3.     <Header>
  4.         <row>
  5.             <CRRNum/>
  6.             <RequestedBy/>
  7.             <CustomerNum/>
  8.         row>
  9.     Header>
  10.     <Details>
  11.         <row>
  12.             <ItemCode />
  13.             <ItemName />
  14.             <SerialNum />
  15.             <Warehouse />
  16.             row>
  17.     Details>
  18. root>

方法1:

首先声明一个XmlDocument对象:

  1. Dim xmlReport As XmlDocument
  2. xmlReport = New XmlDocument

 

其次通过XmlDocument.LoadXML来获得这个XML的初始结构,包括:Version,Encoding和根节点:

  1. xmlReport.LoadXML(""1.0"" encoding=""UTF-8""?>")

 

这样xmlReport就获得了初始结构了。剩下的工作就是要声明XmlNode对象,逐级的使用XmlNode.AppendChild方法将各个节点串接起来,具体的程序如下:

  1. Dim xmlNode As XmlNode
  2. Dim xmlHeader As XmlNode
  3. Dim xmlDetail As XmlNode
  4. Dim xmlRow As XmlNode
  5. xmlHeader = xmlReport.CreateNode(XmlNodeType.Element, "Header""")
  6. xmlRow = xmlReport.CreateNode(XmlNodeType.Element, "row""")
  7. xmlNode = xmlReport.CreateElement("CRRNum")
  8. xmlRow.AppendChild(xmlNode)
  9. xmlNode = xmlReport.CreateElement("RequestedBy")
  10. xmlRow.AppendChild(xmlNode)
  11. xmlNode = xmlReport.CreateElement("CustomerNum")
  12. xmlRow.AppendChild(xmlNode)
  13. xmlHeader.AppendChild(xmlRow)
  14. xmlRoot.AppendChild(xmlHeader)
  15. xmlDetail = xmlReport.CreateNode(XmlNodeType.Element, "Details""")
  16. xmlRow = xmlReport.CreateNode(XmlNodeType.Element, "row""")
  17. xmlNode = xmlReport.CreateElement("ItemCode")
  18. xmlRow.AppendChild(xmlNode)
  19. xmlNode = xmlReport.CreateElement("ItemName")
  20. xmlRow.AppendChild(xmlNode)
  21. xmlNode = xmlReport.CreateElement("SerialNum")
  22. xmlRow.AppendChild(xmlNode)
  23. xmlDetail.AppendChild(xmlRow)
  24. xmlRoot.AppendChild(xmlDetail)
  25. xmlReport.AppendChild(xmlRoot)

方法2:

与方法一的主要区别就是,完全使用XML命名空间中的对象来创建,我本人更倾向于这种方法。

首先,声明一个XmlDocument对象,同方法一。

其次,声明一个XmlDeclaration对象:

  1. Dim XmlDeclaration As XmlDeclaration

初始化这个XmlDeclaration对象:

  1. XmlDeclaration = xmlReport.CreateXmlDeclaration("1.0""""")
  2. XmlDeclaration.Encoding = "UTF-8"

剩下的操作同样是创建XmlNode,方法同方法一。但是此时这个XML是没有跟节点的,因此还需要一个额外的XMLNode对象,来充当根节点的角色。

 

你可能感兴趣的:(VB.Net创建XML文件的方法)