如何通过C#中的“foreach”循环迭代XML格式的字符串?

时间:2015-07-23 12:11:04

标签: c# xml string foreach

我有XML格式的字符串,其中包含以下内容:

<?xml version="1.0" encoding="Windows-1251" ?>
<Operation>
<PersonOperation>
    <Name>John Smith</Name>
    <Phone>79161234586</Phone>
    <City>Glasgow</City>    
    <Date>2014-02-03</Date>
    <OperationType>Join</OperationType>
    <Amount>9000.00</Amount>
</PersonOperation>
<PersonOperation>
    <Name>Bill Satly</Name>
    <Phone>78263211334</Phone>
    <City>London</City>
    <Date>2014-07-10</Date>
    <OperationType>Stock</OperationType>
    <Amount>3000.00</Amount>
</PersonOperation>

如何通过C#中的“foreach”循环迭代此字符串并检查OperationType节点的值是否等于“Join”?

2 个答案:

答案 0 :(得分:0)

将字符串加载到XmlDocument中,并使用SelectNodes()方法和相应的XPath查询。

查询迭代:

“操作/ PersonOperation”

答案 1 :(得分:0)

您可以使用LinqToXml查询执行此操作,如下所示:

  var result = document.Root.Elements()
                       .Where(b => b.Element("OperationType").Value == "Join");