Skip to main content

The Amazing LinqToXML with C#



XAttribute, XComment, XDeclaration, XDocument, XElement, XName/XNamespace

Creating XML:

            XElement inventory =
                                    new XElement("Inventory",
                                                new Xelement ( "Car", new XAttribute("ID", "1"),
                                                            new XElement("Color", "Green"),
                                                            new XElement("Make", "BMW"),
                                                            new XElement("PetName", "Stan")
                                                            )
                                                );

A Complete XML Document:

XDocument inventoryDoc =
            new XDocument(
                        new XDeclaration("1.0", "utf-8", "yes"),
                        new XComment("Current Inventory of AutoLot"),
                                    new XElement("Inventory",
                                                new XElement("Car", new XAttribute("ID", "1"),
                                                            new XElement("Color", "Green"),
                                                            new XElement("Make", "BMW"),
                                                            new XElement("PetName", "Stan")
                                                    ),
                                                new XElement("Car", new XAttribute("ID", "2"),
                                                            new XElement("Color", "Pink"),
                                                            new XElement("Make", "Yugo"),
                                                            new XElement("PetName", "Melvin")
                                                     )
                                    )
            );

inventoryDoc.Save("SimpleInventory.xml");

Converting Arrays to XML using Linq:

            var data = new [] {
                                                            new { PetName = "Melvin", ID = 10 },
                                                            new { PetName = "Pat", ID = 11 }
                                                };

// Now enumerate over the array to build an Xelement.

XElement vehicles =

new XElement("Inventory",
                                                            from c in data
                                                            select new XElement("Car",
                                                                                    new XAttribute("ID", c.ID),
                                                                                    new XElement("PetName", c.PetName)
                                                                                                      )
                           );
XElement temp = XElement.Parse(
                        @“<Inventory>
                                                <Car carID ="0">
                                                            <Make>Ford</Make>
                                                            <Color>Blue</Color>
                                                            <PetName>Chuck</PetName>
                                                </Car>
                                                <Car carID ="1">
                                                            <Make>VW</Make>
                                                            <Color>Silver</Color>
                                                            <PetName>Mary</PetName>
                                                </Car>
                                                <Car carID ="2">
                                                            <Make>Yugo</Make>
                                                            <Color>Pink</Color>
                                                            <PetName>Gipper</PetName>
                                                </Car>
                        </Inventory>” );

Linq expressions over XML:

            from pn in temp.Descendants("PetName")
            select pn.Value;

AND

            from c in doc.Descendants("Make")
            where c.Value == "Ford"
            select c;

Popular posts from this blog

Culture Information and Localization in .NET

Namespace: System.Globalization CultureInfo Class:                 It provides information like the Format of numbers and dates, Culture’s Calendar, Culture’s language and sublanguage (if applicable), Country and region of the culture. The Basic use of CultureInfo class is shown here: • How string Comparisons are performed • How Number Comparison & Formats are performed • Date Comparison and Formats. • How resources are retrieved and used. Cultures are grouped into three categories: Invariant Culture : It’s Culture Insensitive. It can be used to build some trial application. It can be also used to build an application with hard-coded expiry date that ignores cultures. But using it for every comparison will be incorrect and inappropriate. Neutral Culture : English(en), Frensh(fr), and Spanish(sp). A neutral culture is related to language but it’s not related to specific regi...

Concept of App Domain in .Net

Creating Application Domains: Application domain is just like process, provides separate memory space, and isolates from other code. But it’s quite light weight. It also provides the following advantages: 1-       Reliability : If a domain crashes, it can be unloaded. Hence doesn’t affect the other assemblies. 2-       Efficiency : Loading all assemblies in one domain can be cumbersome and can make the process heavy but Appdomains are efficient in this manner. Important properties of AppDomain: ApplicationIdentity , ApplicationTrust , BaseDirectory , CurrentDomain , DomainManager , DomainDirectory , Evidence , FriendlyName , ID , RelativeSearchPath , SetupInformation , ShadowCopyFiles . Important methods of AppDomain: ApplyPolicy , CreateCOMInstanceFrom , CreateDomain , CreateInstance (Assembly). To create an AppDomain: AppDomain adomain = AppDomain.CreateDomain(“D”); To execute an assembly:...

Reflecting Types in .NET

Getting Types:                 Type Object can be obtained:                                 From Assembly class                                 From Module class                                 From instance of an object                                 Using typeof keyword in C#   ...