如何将来自服务器的 xml 请求读取到字典键值中
本文关键字:读取 请求 xml 字典 键值 服务器 何将来 将来 | 更新日期: 2023-09-27 18:34:37
我希望将以下内容读入 Web 服务的键值字典中。
Dictionary<string, string> att = new Dictionary<string, string>();
<Req>
<ID>myProg</ID>
<FID>myID</FID>
<att attName="fName"><Value></Value></att>
<att attName="lName"><Value>Doe</Value></att>
<att attName="Add"><Value>222 Fork Drive</Value></att>
</Req>
我知道我可以为实际上有 attName 和值的部分做 foreach,我怎么能为前两部分做呢?
有人说我到目前为止所做的事情:
void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load("myxmldoc.xml");
var re = doc;
foreach (System.Xml.XmlElement r in re)
{
Console.WriteLine(r);
}
}
谢谢
您可以使用
此代码
var root = XElement.Parse(xml);
var att = root.Nodes().Where(n => n.NodeType == XmlNodeType.Element)
.Select(node =>
{
var element = (XElement)node;
return element.Name.LocalName.Equals("att")
? Tuple.Create(element.Attribute("attName").Value, ((XElement)element.FirstNode).Value)
: Tuple.Create(element.Name.LocalName, element.Value);
})
.ToDictionary(tuple => tuple.Item1, tuple => tuple.Item2);