Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类来序列化/反序列化xml文件_Xml_Vb.net - Fatal编程技术网

类来序列化/反序列化xml文件

类来序列化/反序列化xml文件,xml,vb.net,Xml,Vb.net,我需要将文件反序列化为vb.net对象 <ANIMALS> <ANIMAL NO = "1">Dog</ANIMAL> <ANIMAL NO = "2">Cat</ANIMAL> <ANIMAL NO = "3">Cow</ANIMAL> <ANIMAL NO = "4">Fish</ANIMAL> </ANIMALS> 狗 猫 母牛 鱼 我有一个名为cl

我需要将文件反序列化为vb.net对象

<ANIMALS>
  <ANIMAL NO = "1">Dog</ANIMAL>
  <ANIMAL NO = "2">Cat</ANIMAL>
  <ANIMAL NO = "3">Cow</ANIMAL>
  <ANIMAL NO = "4">Fish</ANIMAL>
</ANIMALS>

狗
猫
母牛
鱼
我有一个名为clsANIMALS的类,其属性返回动物列表:

<Serializable()> _
<System.Xml.Serialization.XmlRoot("ANIMALS")> _
Public Class clsANIMALS


<System.Xml.Serialization.XmlElement("ANIMAL")> _
Public Property lstAnimal() As List(Of clsAnimal)
_
_
公共类clsANIMALS
_
公共属性lstAnimal()作为列表(属于clsAnimal)
以及一个名为clsANIMAL的子类,该子类具有属性“NO”的属性:

_
_
公共类clsANIMAL
_
作为整数的公共属性iNoAnimal()
有人能告诉我如何反序列化文本,如Dog、Cat..?

您可以使用来获取值:

<Serializable()> _
<System.Xml.Serialization.XmlRoot("ANIMAL")> _
Public Class clsANIMAL

    <System.Xml.Serialization.XmlAttribute("NO")> _
    Public Property iNoAnimal() As Integer

    <System.Xml.Serialization.XmlText()> _
    Public Property strName As String
End Class
您可以使用获取值:

<Serializable()> _
<System.Xml.Serialization.XmlRoot("ANIMAL")> _
Public Class clsANIMAL

    <System.Xml.Serialization.XmlAttribute("NO")> _
    Public Property iNoAnimal() As Integer

    <System.Xml.Serialization.XmlText()> _
    Public Property strName As String
End Class

你知道吗?您可以使用
xsd/c file.xml
生成
vb.net
类来读取xml。下面给出的答案是直截了当的。谢谢您也知道吗?您可以使用
xsd/c file.xml
生成
vb.net
类来读取xml。下面给出的答案是直截了当的
Dim stream = System.IO.File.OpenRead("Animals.xml")
Dim serializer = New System.Xml.Serialization.XmlSerializer(GetType([clsANIMALS]))
Dim animals As clsANIMALS = serializer.Deserialize(stream)
For Each animal In animals.lstAnimal
    Console.WriteLine(animal.strName)
Next