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

时间:2017-06-05 23:53:13

标签: c# xml linq parsing linq-to-xml

我正在开发一个将接收XML字符串的Web服务,并将与internalName字符串进行比较。我正在使用LINQ来解析XML(我认为我正确地做了)但是我不确定如何比较内部名称中的“值”,每个例子。

    [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。

1 个答案:

答案 0 :(得分:0)

考虑到您要将字符串与值进行比较:

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