我想要做的是获取任何给定的 .xml 文件并将其转换为 VB 代码中的对象。我的程序将从网站上抓取一个 .xml 文件并将其更改为一个对象。然后我将对从 .xml 文件创建的这些对象运行查询。然后我会将这些查询输出到数据网格。
事情是我知道如何使用一个特定的 .xml 文件来完成所有这些工作。我只是在 .xml 文件中放置对字段的引用以将其更改为对象。但是,当涉及到更改任何可能由用户上传的具有许多不同字段的 .xml 时,我感到很茫然。
有没有办法做到这一点?
我想要做的是获取任何给定的 .xml 文件并将其转换为 VB 代码中的对象。我的程序将从网站上抓取一个 .xml 文件并将其更改为一个对象。然后我将对从 .xml 文件创建的这些对象运行查询。然后我会将这些查询输出到数据网格。
事情是我知道如何使用一个特定的 .xml 文件来完成所有这些工作。我只是在 .xml 文件中放置对字段的引用以将其更改为对象。但是,当涉及到更改任何可能由用户上传的具有许多不同字段的 .xml 时,我感到很茫然。
有没有办法做到这一点?
System.Xml
您可以使用和命名空间编写 XML 编译器System.Reflection.Emit
。
但是您仍将面临查询其结构直到运行时才知道的对象的挑战。
更好的选择可能是将 xml 加载到一个XmlDocument
并针对它们运行 XPath 或 LINQ 查询。考虑到对象的海森堡性质,XPath 最有可能。
Dim tDoc as XmlDocument = New XmlDocument
Dim tNodes As XmlNodeList = Nothing
tDoc.Load(file_path)
tNodes = tDoc.SelectNodes("xpath query goes here")
For Each tNode As XmlNode In tNodes
' Do something with the Node
Next