首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

VB.NET使用xml序列化数组,该怎么解决

2013-11-29 
VB.NET使用xml序列化数组如何用VB.NET可以使用这样的 XML ,可以是控件台,也可以是生文件?xml version1.

VB.NET使用xml序列化数组
如何用VB.NET可以使用这样的 XML ,可以是控件台,也可以是生文件

<?xml version="1.0" encoding="gb2312"?>
<PurchaseOrder xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Items>
        <Item>
            <ItemID>aaa111</ItemID>
            <ItemPrice>34.22</ItemPrice>
        <Item>
        <Item>
            <ItemID>bbb222</ItemID>
            <ItemPrice>2.89</ItemPrice>
        <Item>
    </Items>
</PurchaseOrder> xml序列化数组VB.NET
[解决办法]
http://www.111cn.net/net/XML/39351.htm
[解决办法]
http://blog.csdn.net/kaedei/article/details/3899045
[解决办法]
http://www.java2s.com/Code/VB/XML/XmlSerializerDemo.htm
[解决办法]


  Private Sub createXML()
        Try
            Dim writer As New Xml.XmlTextWriter(Application.StartupPath & "/test.xml" , System.Text.Encoding.GetEncoding("gb2312"))
             writer.Formatting = Xml.Formatting.Indented
            writer.WriteRaw("<?xml version=""1.0"" encoding=""gb2312"" ?>")
            '书写根元素   
            writer.WriteStartElement("PurchaseOrder")
            writer.WriteAttributeString("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
            writer.WriteAttributeString("xmlns:xsd", "http://www.w3.org/2001/XMLSchema")
            '添加次级元素   
            writer.WriteStartElement("Items")
            writer.WriteStartElement("Item")
            writer.WriteElementString("ItemID", "aaa111")
            writer.WriteElementString("ItemPrice", "34.22")
            writer.WriteEndElement()
            writer.WriteStartElement("Item")
            writer.WriteElementString("ItemID", "bbb222")
            writer.WriteElementString("ItemPrice", "2.89")
            writer.WriteEndElement()
            writer.WriteFullEndElement()
            writer.Close()
        Catch ex As Exception
            MsgBox(ex.Message & vbCrLf & ex.StackTrace)
        End Try

    End Sub

[解决办法]
.net的XML基本操作是:
1.new一个 System.Xml.XmlDocument对象。
2.执行XmlDocument对象的Load方法加载XML文档。
3.XmlDocument对象的DocumentElement对象可操作文档的根,比如你这个文档的<PurchaseOrder/>。
4.可通过DocumentElement的ChildNodes属性获得根节点的所有子节点(XmlNode),子节点的ChildNodes属性可以获得该节点的所有子节点。
5.节点(XmlNode)有多种类型。常用的有:
   元素(Element),如<item/>
   文本(Text),如<item>text<item/>中的text,通过InnerText属性获取这个文本。
  通过节点的NodeType属性可以区分不同的节点。
6.节点(XmlNode)的Attributes属性可以访问节点的所有属性(XmlAttribute),例如<item a="5"/>的a,通过Value属性获取值。
7.通过XmlDocument对象的CreateElement方法去创建元素,通过节点(XmlNode)的AppendChild方法进行添加。
8.通过XmlDocument对象的save方法进行存储。 
[解决办法]
如果数据多,那你得用dataset ,将数据先放在dataset ,用dataset.WriteXml
 
 Dim ds As New DataSet
        ds.DataSetName = "Items"
        Dim dt As New DataTable("Item")


        Dim drow As DataRow
        dt.Columns.Add(New DataColumn("ItemID", GetType(Integer)))
        dt.Columns.Add(New DataColumn("ItemPrice", GetType(Integer)))
        Dim i As Integer
        For i = 3 To 10
            drow = dt.NewRow
            drow("ItemID") = i
            drow(1) = i * i
            dt.Rows.Add(drow)
        Next
        ds.Tables.Add(dt)
        DataGridView1.DataSource = ds.Tables("Item")
        dt.WriteXml("test.xml")


<?xml version="1.0" standalone="yes"?>
<Items>
  <Item>
    <ItemID>3</ItemID>
    <ItemPrice>9</ItemPrice>
  </Item>
  <Item>
    <ItemID>4</ItemID>
    <ItemPrice>16</ItemPrice>
  </Item>
  <Item>
    <ItemID>5</ItemID>
    <ItemPrice>25</ItemPrice>
  </Item>
  <Item>
    <ItemID>6</ItemID>
    <ItemPrice>36</ItemPrice>
  </Item>
  <Item>
    <ItemID>7</ItemID>
    <ItemPrice>49</ItemPrice>
  </Item>
  <Item>
    <ItemID>8</ItemID>
    <ItemPrice>64</ItemPrice>
  </Item>
  <Item>
    <ItemID>9</ItemID>
    <ItemPrice>81</ItemPrice>
  </Item>
  <Item>
    <ItemID>10</ItemID>
    <ItemPrice>100</ItemPrice>
  </Item>
</Items>

热点排行