Friday, August 23, 2013

CSharp C# XDocument Very Simple Read and locate with Linq

CSharp C# XDocument Very Simple Read and locate with Linq


The XML Target:

<?xml version="1.0" encoding="utf-8"?><root>
<TestEnvironment>QA_TestZoneNow</TestEnvironment>
<Browser>Chrome</Browser>
<NewCompanyNameForTrackerAdminRemoteSetup>CLK_Q2_007</NewCompanyNameForTrackerAdminRemoteSetup>
<CreateAndUseNewCompany>TRUE</CreateAndUseNewCompany>
</root>


The output:

Iterate all the elements by their name and value properties:
elementNow=TestEnvironment
  ValueNow=QA_TestZoneNow
elementNow=Browser
  ValueNow=Chrome
elementNow=NewCompanyNameForTrackerAdminRemoteSetup
  ValueNow=CLK_Q2_007
elementNow=CreateAndUseNewCompany
  ValueNow=TRUE
Find the "Browser" tag in full:
browserNow element and value together=<Browser>Chrome</Browser>
Browser tag name=Browser and tag value=Chrome


Program.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;

class Stuff4
{
    static void Main()
    {
        string targetFile = @"C:\Dump2\UnattendedTestThreadAppConfigUpdates.xml";
        XDocument fileNow = XDocument.Load(targetFile);
        IEnumerable<XElement> listOfElements = fileNow.Descendants().Elements();
        Console.WriteLine("Iterate all the elements by their name and value properties:");
        foreach (XElement elementNow in listOfElements)
        {
            Console.WriteLine("elementNow={0}", elementNow.Name);
            Console.WriteLine("  ValueNow={0}", elementNow.Value);
        }
        Console.WriteLine("Find the \"Browser\" tag in full:");
       XElement browserNow = listOfElements.First((eNow) => eNow.Name == "Browser");
       Console.WriteLine("browserNow element and value together={0}", browserNow);
       Console.WriteLine("Browser tag name={0} and tag value={1}", browserNow.Name, browserNow.Value);
        Console.ReadLine();
    }
}


No comments:

Post a Comment