<?xml version="1.0" standalone="yes"?>
<Subject>
<Book>
<Name>ASP.NET</Name>
<Author>ABC</Author>
<Published>2018</Published>
<Price>$100</Price>
</Book>
</Subject>
以上是我的xml文件。我想使用C#中的Dictionary或Collections存储xml节点和值,并使用winforms在消息框中显示这些节点和值。
输出应为:
Name: ASP.NET
Author: ABC
Published: 2018
Price: $100
我尝试了以下但是收到了很多错误......
var doc = XDocument.Load(@"xmlfile.xml");
var rootNodes = doc.Root.DescendantNodes().OfType<XElement>();
var keyValuePairs = from n in rootNodes
select new
{
TagName = n.Name,
TagValue = n.Value
};
var allitems = new Dictionary<string, string>();
foreach (var node in rootNodes)
{
allitems.Add(node.Name.ToString(), node.Value);
//string str = string.Join("",allitems);
MessageBox.Show(allitems);
}
答案 0 :(得分:0)
首先应该将XML解析为对象(Convert XML String to Object)。
然后你可以简单地实现该类型的ToString()方法,以便很好地打印它。
答案 1 :(得分:0)
我认为对于这部分,您需要将其转换为.cs文件,XML无法检索消息框......
在.cs文件中,您还可以尝试将消息框的代码放入
MessageBox.Show(//把东西放在那里,你想要显示这个输出);