1: //Generates XML using XmlDocument
2: internal static void GenerateXmlUsingXmlDocument()
3: {
4: MemoryStream ms =new MemoryStream();
5: XmlDocument xmlDoc = new XmlDocument();
6: xmlDoc.AppendChild(xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", "no"));
7: XmlElement assembliesNode = xmlDoc.CreateElement("Assemblies");
8: foreach (Type t in Assembly.GetAssembly(typeof(Object)).GetExportedTypes())
9: {
10: XmlElement assemblyNode = xmlDoc.CreateElement("Assembly");
11: XmlAttribute fullTypeName = xmlDoc.CreateAttribute("FullTypeName");
12: fullTypeName.Value = t.ToString();
13: XmlAttribute isInterfaceName = xmlDoc.CreateAttribute("IsInterface");
14: isInterfaceName.Value = t.IsInterface.ToString();
15: assemblyNode.Attributes.Append(fullTypeName);
16: assemblyNode.Attributes.Append(isInterfaceName);
17: assembliesNode.AppendChild(assemblyNode);
18: }
19: xmlDoc.AppendChild(assembliesNode);
20: xmlDoc.WriteContentTo(new XmlTextWriter(ms,System.Text.ASCIIEncoding.ASCII));
21: }
22:
23: //Generates XML using XElement
24: internal static void GenerateXmlUsingXElement()
25: {
26: MemoryStream ms = new MemoryStream();
27: XElement assembliesNode = new XElement("Assemblies",
28: from Type t in Assembly.GetAssembly(typeof(Object)).GetExportedTypes()
29: select new XElement("Assembly",
30: new XAttribute("FullTypeName", t.ToString()),
31: new XAttribute("IsInterface", t.IsInterface.ToString())));
32:
33: assembliesNode.Save(new XmlTextWriter(ms, System.Text.ASCIIEncoding.ASCII));
34: }