如何将来自服务器的 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);
    }
}

谢谢

如何将来自服务器的 xml 请求读取到字典键值中

您可以使用

此代码

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);