VB中如何操作XML和JSON数据

在Visual Basic (VB) 中,操作XML和JSON数据是常见的任务,特别是在处理Web服务、配置文件或数据交换时。VB.NET 提供了多种方式来处理这两种格式的数据。

操作XML数据

VB.NET 提供了几种操作XML数据的方法,包括使用 System.Xml 命名空间中的类(如 XmlDocumentXmlNode)以及使用LINQ to XML(在 System.Xml.Linq 命名空间中)。

使用 XmlDocument
复制代码

vb复制代码

|---|-------------------------------------------------------------------|
| | Imports System.Xml |
| | |
| | Module Module1 |
| | Sub Main() |
| | Dim xmlDoc As New XmlDocument() |
| | xmlDoc.Load("example.xml") ' 加载XML文件 |
| | |
| | ' 访问XML元素 |
| | Dim root As XmlNode = xmlDoc.DocumentElement |
| | Dim title As String = root.SelectSingleNode("title").InnerText |
| | |
| | Console.WriteLine(title) |
| | |
| | ' 修改XML元素 |
| | root.SelectSingleNode("title").InnerText = "New Title" |
| | |
| | ' 保存修改 |
| | xmlDoc.Save("example_modified.xml") |
| | End Sub |
| | End Module |

使用 LINQ to XML

LINQ to XML 提供了一种更简洁、更强大的方式来查询和修改XML文档。

复制代码

vb复制代码

|---|---------------------------------------------------------|
| | Imports System.Xml.Linq |
| | |
| | Module Module1 |
| | Sub Main() |
| | Dim xml As XDocument = XDocument.Load("example.xml") |
| | |
| | ' 访问XML元素 |
| | Dim title As String = xml.<root>.<title>.Value |
| | |
| | Console.WriteLine(title) |
| | |
| | ' 修改XML元素 |
| | xml.<root>.<title>.Value = "New Title" |
| | |
| | ' 保存修改 |
| | xml.Save("example_modified.xml") |
| | End Sub |
| | End Module |

操作JSON数据

VB.NET 原生并不直接支持JSON,但你可以使用第三方库,如 Newtonsoft.Json也称为Json.NET),这是一个非常流行的.NET JSON框架。

使用 Json.NET

首先,你需要在项目中安装Json.NET。这可以通过NuGet包管理器来完成。

复制代码

vb复制代码

|---|--------------------------------------------------------------------------------|
| | Imports Newtonsoft.Json |
| | |
| | Module Module1 |
| | Sub Main() |
| | ' JSON字符串 |
| | Dim jsonString As String = "{ 'Name': 'John Doe', 'Age': 30 }" |
| | |
| | ' 反序列化JSON字符串到对象 |
| | Dim person As Person = JsonConvert.DeserializeObject(Of Person)(jsonString) |
| | |
| | Console.WriteLine($"Name: {person.Name}, Age: {person.Age}") |
| | |
| | ' 序列化对象到JSON字符串 |
| | Dim jsonOutput As String = JsonConvert.SerializeObject(person) |
| | |
| | Console.WriteLine(jsonOutput) |
| | End Sub |
| | |
| | Public Class Person |
| | Public Property Name As String |
| | Public Property Age As Integer |
| | End Class |
| | End Module |

在这个例子中,Person 类被用来表示JSON数据中的对象。JsonConvert.DeserializeObject 方法用于将JSON字符串反序列化为 Person 对象,而 JsonConvert.SerializeObject 方法则用于将 Person 对象序列化为JSON字符串。

总结

VB.NET 通过 System.XmlSystem.Xml.Linq 命名空间提供了强大的XML处理能力,而对于JSON,则可以通过第三方库如Json.NET来实现。选择哪种方法取决于你的具体需求以及你对性能的考虑。

相关推荐
数据狐(Datafox)21 小时前
1688商品列表API接口解析(附 JSON 样例)
java·开发语言·数据库·爬虫·json
码匠许师傅2 天前
【C++三方组件】TinyXML2:两个文件的极简 XML 解析器
xml·c++
j7~2 天前
【Linux网络加餐】(篇六)网络版计算器(上):模板方法模式、序列化与 JSON
linux·c++·json·序列化·反序列化·网络版计算机
梦帮科技2 天前
Next.js 16 模块化单体实战:App Router、领域模块与 Route Handler 分层
css·数据结构·链表·正则表达式·node.js·json·html5
蓝悦无人机3 天前
LangChain v1.0 系列教程——第2章 工具系统
langchain·json·装饰器模式·pydantic
Lyra_Infra3 天前
从一段错误 JSON 说起:Policy、Role 与 IAM
后端·json·aigc
羑悻的小杀马特3 天前
数据织网者:Jsoncpp库深度解析——从C++原生JSON处理到工程级数据交互实战全攻略
c++·json·交互·jsoncpp·原生库
代码什么用3 天前
JSON一文速通
java·json
yuzhiboyouye3 天前
my-batisPlus什么时候用xml什么时候用mapper自带的方法,这两种写法专业一点叫什么,什么场景分别使用
xml
小小测试开发4 天前
LLM 结构化输出测试:Schema 契约 + 故障注入,让工具调用的 JSON 不再靠重试赌运气
人工智能·json