Friday, October 7, 2011

XMLWriter in C#

Ahh, The wonderful XML Writer in C#. Allows you to wrote XML very easily, and organize the tags in an efficient well formed manner.


Here is some code form a program I wrote to extract information from SCOM and dumping into an XML file. Remember to reference System.Xml;:


  using (XmlWriter writer = XmlWriter.Create(path + "\\" + 
                        thisReader["Alertid"] + "_" + thisReader["DeviceName"] + 
                        ".xml", settings))
                    {
                        xCount++; 
                        writer.WriteStartElement
                                 ("alert");
                             writer.WriteAttributeString
                                 ("alertID",thisReader["AlertID"].ToString());
                             writer.WriteElementString
                                     ("MonitoringObjectPath", thisReader["MonitoringObjectPath"].ToString());   
                             writer.WriteElementString
                                 ("deviceName", thisReader["DeviceName"].ToString());
                             writer.WriteElementString
                                 ("alertName",thisReader["AlertName"].ToString().Replace(" ",""));
                             writer.WriteElementString
                                 ("alertDescription", thisReader["AlertDescription"].ToString());
                             writer.WriteElementString
                                  ("alertStringName", thisReader["AlertStringName"].ToString());
                             writer.WriteElementString
                                ("alertAlertParams", thisReader["AlertParams"].ToString()
                                .Replace("<AlertParameters><AlertParameter1>", "")
                                .Replace("</AlertParameter1></AlertParameters>", "")
                                .Replace("/>", "-")
                                .Replace("/>", "-")
                                .Replace(">", "-")
                                .Replace("<", "-")
                                );
                             writer.WriteElementString
                                ("alertStringDescription", thisReader["AlertStringDescription"].ToString());
                             writer.WriteElementString
                                 ("severity", thisReader["Severity"].ToString());
                             writer.WriteElementString
                                 ("category", thisReader["Category"].ToString());
                             writer.WriteElementString
                                 ("timeRaised", thisReader["TimeRaised"].ToString());
                             writer.WriteElementString
                                 ("timeResolved", thisReader["TimeResolved"].ToString());
                             writer.WriteElementString
                                  ("resolvedBy", thisReader["ResolvedBy"].ToString());
                             writer.WriteEndElement();
                             writer.Flush();
                    }
                }

No comments:

Post a Comment