c# - 将 XML 添加到包含数组 C# 的字典中
问题描述
<status_code>0</status_code>
<status_msg>Success</status_msg>
<customer_details>
<customer_id>1</customer_id>
<number>99884522</number>
<mobile_number>4562214555</mobile_number>
<customer_name>Test </customer_name>
<balance>457.67</balance>
</customer_details>
</xml>
我想将 xml 代码添加到字典中,我该怎么做?我希望customer_details
数组也包含详细信息。
到目前为止,我尝试过
var webResponse = new Dictionary<string, string>();
XDocument xDoc = XDocument.Parse(xmlfile);// ("filename.xml");
foreach (XElement el in xDoc.Root.Elements())
{
if (el.HasElements)
{
webResponse.Add(el.Name.LocalName, el.Value);
}
webResponse.Add(el.Name.LocalName, el.Value);
}
我想以 Json 的形式或在字典中输出
{
"status_code": 0,
"status_msg": "Success",
"customer_details": {
"customer_id": "1",
"number": "24234234",
"mobile_number": "24423423432",
"customer_name": "Test ",
"balance": "467.67"
}
}
解决方案
您可以使用 Newtonsoft Json。
XDocument X = XDocument.Load(@"C:\Users\XMLFile.xml");
var elements = X.Elements("xml");
foreach (var item in elements)
{
string json = JsonConvert.SerializeXNode(item);
Console.WriteLine(json);
}
输出
{
"xml": {
"status_code": "0",
"status_msg": "Success",
"customer_details": {
"customer_id": "1",
"number": "99884522",
"mobile_number": "4562214555",
"customer_name": "Test ",
"balance": "457.67"
}
}
}
使用的 XML 是
<xml>
<status_code>0</status_code>
<status_msg>Success</status_msg>
<customer_details>
<customer_id>1</customer_id>
<number>99884522</number>
<mobile_number>4562214555</mobile_number>
<customer_name>Test </customer_name>
<balance>457.67</balance>
</customer_details>
</xml>
推荐阅读
- c# - 指定的演员表无效。尝试使用 Xamarin 将 ObservableCollection 显示到另一个页面
- javascript - FCC Markdown Previewer 项目在负载测试中失败
- java - Smtp 无法接收/发送邮件
- variables - 当比例变量 Vs 时,线性模型中的 P 值不同。未缩放
- python - 数据不均匀的 Matplotlib 堆积图
- actions-on-google - 如何使用新的@assistant/conversation sdk 获取用户名
- javascript - 从子标签中获取纯文本
- javascript - 回调函数的参数如何工作?
- json - 如何在没有 configparser 的情况下在 Python 中读取 INI 文件?
- python - 如何从 Telegramm 机器人发送带有照片的文本