using System.Collections.Generic;
using System.Xml.Serialization;
public static void Test()
var xmlString = @"<?xml version=""1.0"" encoding=""utf-8""?><Foo Name=""a->b""></Foo>";
var doc = XDocument.Parse(xmlString);
Assert.AreEqual("a->b", doc.Root.Attribute("Name").Value);
foreach (var element in doc.Root.DescendantsAndSelf())
Console.Write("Attributes for element {0}: ", element.Name);
foreach (var attr in doc.Root.Attributes())
Console.Write("\"{0}\": \"{1}\"{2}", attr.Name, attr.Value, i++ == 0 ? "" : ", ");
Console.WriteLine("\nRe-serialiezd XDocument:");
Console.WriteLine(doc.Root);
public static void Main()
Console.WriteLine("Environment version: {0} ({1}, {2})", System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription , Environment.Version, Environment.OSVersion);
Console.WriteLine("Failed with unhandled exception: ");