如何从xml中检索值到标签?

时间:2017-11-03 17:12:39

标签: vb.net

我有一个像下面这样的xml。

<Manifest Type="File">
<FilesList>
    <FileItem>
        <Version>v1.0</Version>

打开exe时,如何获取值并覆盖标签? 顺便说一下,我需要使用&#34; StartupPath&#34;显示xml目录。

为了更简单,我希望它与这张图片完全一样,但是使用xml。 (只是一个随机图像) https://support.kaspersky.com/images/home_ksmac_8421_02_en13-145521.jpg

1 个答案:

答案 0 :(得分:1)

您可以使用XML序列化来读取.NET中的XML文件

为XML文件模型创建一些类

Public Class Manifest
    <System.Xml.Serialization.XmlElement>
    Public Property FilesList As FilesList
    <System.Xml.Serialization.XmlAttribute>
    Public Property [Type] As String
End Class

Public Class FilesList
    <System.Xml.Serialization.XmlElement>
    Public Property FileItem As FileItem
End Class

Public Class FileItem
    <System.Xml.Serialization.XmlElement>
    Public Property Version As String
End Class

并像这样加载文件

Dim s As New Xml.Serialization.XmlSerializer(GetType(Manifest))
Dim m As Manifest
Using sr = New System.IO.StreamReader("XmlFile1.xml")
    m = DirectCast(s.Deserialize(sr), Manifest)
End Using
Dim labelText = m.FilesList.FileItem.Version

注意:我在评论中询问了XML文件,你说这只是一个开头。所以上面的模型假设完整的文件看起来像这样

<?xml version="1.0" encoding="utf-8" ?>
<Manifest Type="File">
  <FilesList>
    <FileItem>
      <Version>v1.0</Version>
    </FileItem>
  </FilesList>
</Manifest>

如果它不是你需要调整模型,即在不止一个(例如FileItem)时创建数组,并适当地访问它,以便m.FilesList.FileItem.Version需要更改。