如何从多节点xml读取和写入数据

时间:2011-03-25 13:29:26

标签: c# xml

如何阅读这种有多节点的xml。 xml的格式为:

<testresultdata>
  <testsetup>
    <testID>1</testID>
        <freqiency>80</freqiency>
        <level>1</level>
        <application>
              <appID>1</appID>
              <result>Pass</result>
        </application>
        <application>
              <appID>2</appID>
              <result>Fail</result>
        </application>
  </testsetup>
</testresultdata>

提前感谢。

2 个答案:

答案 0 :(得分:2)

你的意思并不是很明确......如果你想阅读所有application元素,例如,你可以使用:

XDocument doc = XDocument.Load("test.xml");
var query = doc.Descendants("application")
               .Select(x => new { AppID = (int) x.Element("appID"),
                                  Result = (string) x.Element("result") })
               .ToList();

答案 1 :(得分:0)

一些简单的LINQ to XML示例:

    XDocument document = XDocument.Load("test.xml");
    var level = document.Descendants("testsetup")
                        .Where(x => x.Element("testID").Value == "1")
                        .Select(x => x.Element("level").Value)
                        .Single();


    var results = document.Descendants("application")
                          .Elements("result")
                          .Select(x => x.Value)
                          .ToList();

第一个读取level testsetup单个值,testId 1,第二个得到 all 应用程序。