2017-06-05 375 views
0

我正在開發一個Web服務,它將接收一個XML字符串並將與internalName字符串進行比較。我正在使用LINQ來解析XML(我認爲我正確地做到了這一點),但我不確定如何比較每個示例中的innerName內的「值」。將解析的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。

+0

你想要哪個節點/屬性值以「INTERNALNAME」比較?它是「關鍵」還是「價值」? – saurabh

+0

創建一個將xml綁定到模型的模型是否具有挑戰性?然後,您可以將XML反序列化到對象中,並輕鬆訪問它的所有屬性。 –

回答

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") 
       }; 
相關問題