Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将解析的XML与字符串进行比较_C#_Xml_Linq_Parsing_Linq To Xml - Fatal编程技术网

C# 将解析的XML与字符串进行比较

C# 将解析的XML与字符串进行比较,c#,xml,linq,parsing,linq-to-xml,C#,Xml,Linq,Parsing,Linq To Xml,我正在开发一个web服务,它将接收XML字符串并与internalName字符串进行比较。我使用LINQ解析XML(我认为我做得很正确),但我不确定如何将“值”与InternalName进行比较 [WebMethod] public string WMCompare (string xml, string internalName) { XDocument xmlDoc = XDocument.Load(xml); var result

我正在开发一个web服务,它将接收XML字符串并与internalName字符串进行比较。我使用LINQ解析XML(我认为我做得很正确),但我不确定如何将“值”与InternalName进行比较

    [WebMethod]
    public string WMCompare (string xml, string internalName)
    {
        XDocument xmlDoc = XDocument.Load(xml);

        var result = from ele in xmlDoc.Descendants("property")
                     select new
                     {
                         key = (string)ele.Element("key"),
                         value = (string)ele.Element("value")
                     };
        foreach (var i in result)
        {
        }
    }
}

谢谢你的关注,对于这个新手问题我很抱歉。这是我第一次使用XML。

考虑到您正在比较字符串和值:

var newResult = result.Where(r => r.value.Equals(internalName))
或者,您也可以在解析XML时进行比较:

var result1 = from ele in doc.Descendants("property")
              where ele.HasElements && ele.Element("value") != null && ele.Element("value").Equals(internalName)
              select new
              {
                  key = (string)ele.Element("key"),
                  value = (string)ele.Element("value")
              };

创建绑定xml的模型是否具有挑战性?然后,您可以将XML反序列化到对象中,并轻松访问其所有属性。您希望将哪个节点/属性值与“internalName”进行比较?是“关键”还是“价值”?