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_Xml Serialization - Fatal编程技术网

如何序列化以下xml

如何序列化以下xml,xml,vb.net,xml-serialization,Xml,Vb.net,Xml Serialization,我知道如何序列化xml。但是下面这个例子我还没有做过。我也不知道怎么做 <Products> <row **id="10"**> <ProductName>Cola</ProductName> <Amount>3</Amount> </row> <row **id="20"**> <ProductName>Fanta</Product

我知道如何序列化xml。但是下面这个例子我还没有做过。我也不知道怎么做

 <Products>
   <row **id="10"**>
     <ProductName>Cola</ProductName>
     <Amount>3</Amount>
   </row>
   <row **id="20"**>
     <ProductName>Fanta</ProductName>
     <Amount>6</Amount>
   </row>
 </Products>

可乐
3.
芬达
6.
所以我想使用xml序列化,大部分xml都完成了,但这一小部分仍然存在

我没法把身份证放在这排后面。我打赌我需要使用xmlattribute,但我真的不知道如何实现

有人能帮我解决一下如何通过xml序列化在“Row”元素中获取id的问题吗


(我确实找到了另一种方法,但是由于这个XML非常大,而且大部分都是我完成的,所以我很想继续。也不想绕过任何小问题。)

您只需要在类中创建一个ID成员,然后用
xmldattribute
属性标记它,例如:

Public Class MyRow

    <XmlAttribute()> _
    Public Property id() As Integer
        Get
            Return _id
        End Get
        Set(ByVal value As Integer)
            _id = value
        End Set
    End Property
    Private _id As Integer


    Public Property ProductName() As String
        Get
            Return _productName
        End Get
        Set(ByVal value As String)
            _productName = value
        End Set
    End Property
    Private _productName As String


    Public Property Amount() As Integer
        Get
            Return _amount
        End Get
        Set(ByVal value As Integer)
            _amount = value
        End Set
    End Property
    Private _amount As Integer
End Class
公共类MyRow
_
公共属性id()为整数
得到
返回id
结束
设置(ByVal值为整数)
_id=值
端集
端属性
私有_id为整数
公共属性ProductName()作为字符串
得到
返回“\u产品名”
结束
设置(ByVal值作为字符串)
_productName=value
端集
端属性
作为字符串的专用_productName
公共属性Amount()为整数
得到
退货金额
结束
设置(ByVal值为整数)
_金额=价值
端集
端属性
私有_金额为整数
末级

我认为你在混用流行语。xml序列化是一种最终产品—以基于xml的格式存储某些内容的定义。一旦它以xml的形式出现。。。它只是xml。您可以使用XPath查找内容,使用DOM操作操作/精确操作内容。谢谢,这帮了大忙-我不知道它是这样工作的。我觉得奇怪的是,它没有一个单独的方法来做这件事。就好像XmlAttribute几乎包含了您需要的所有内容。如何使用元素实现完全相同的功能?我通常使用属性将数据填充到xml中。您可以对任何字段或属性应用
XmlAttribute
。我更新了我的示例,使用属性而不是字段。是的,我找到了这一点,但假设您尝试向其中添加xmlattribute的元素不是类。这意味着id=“10”将写在“ProductName”元素中。哦,好吧,为此,我实际上创建了一个
ProductName
类。如果有更简单的方法,我不知道。