public void WriteXml(XmlWriter w) { w.WriteAttributeString("protocol", protocol); w.WriteAttributeString("version", version); w.WriteAttributeString("ismachine", version); w.WriteAttributeString("sessionid", sessionid); w.WriteAttributeString("userid", userid); w.WriteAttributeString("installsource", installsource); w.WriteAttributeString("testsource", testsource); w.WriteAttributeString("requestid", requestid); w.WriteStartElement("os"); os.WriteXml(w); w.WriteEndElement(); foreach (AppInfoRequest app in apps) { w.WriteStartElement("app"); app.WriteXml(w); w.WriteEndElement(); } }