20080717 XmlSerializer Deserialize xml http://www.shengfang.org ~~类序列化 ftp p = new ftp(); //串行化对象 System.Xml.Serialization.XmlSerializer xmlSer = new XmlSerializer(p.GetType()); p.ip = "124"; p.port = "sdf"; XmlSerializerNamespaces namespaceSerializer = new XmlSerializerNamespaces(); namespaceSerializer.Add("", ""); //REMOVE mlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://mycompany.com/" using (StringWriter sw = new StringWriter()) { XmlWriterSettings settings = new XmlWriterSettings(); //settings.OmitXmlDeclaration = true; // Remove the <?xml version="1.0" encoding="utf-8"?> XmlWriter xtw = XmlWriter.Create(sw, settings); //XmlTextWriter xtw = new XmlTextWriter(sw,); xmlSer.Serialize(xtw, p, namespaceSerializer); System.Diagnostics.Trace.WriteLine(sw.ToString()); sw.Close(); ~~类反序列化 string xmlMarkup = at "<ftp ip=""124"" port=""sdf"" />"; XmlSerializer xmlSerializer = new XmlSerializer(typeof(ftp)); ftp usenetGoddy = (ftp)xmlSerializer dot Deserialize(new StringReader(xmlMarkup)); Console.WriteLine("Created { 0 }, Name: { 1 }", usenetGoddy, usenetGoddy.ip); ~ //生成xml字符串: using (StringWriter sw = new StringWriter()) { XmlTextWriter xtw = new XmlTextWriter(sw); xtw.Formatting = Formatting.Indented; //xtw.WriteStartDocument(); //去掉XML头信息 xtw.WriteStartElement("sysinfo"); //test xtw.WriteStartElement("ftp"); xtw.WriteAttributeString("ip", "wwqr"); xtw.WriteAttributeString("port", "123"); xtw.WriteEndElement(); string result = sw.ToString(); System.Diagnostics.Trace.WriteLine(result); ~~取信息 XmlTextReader tr = new XmlTextReader( at "<login value=""fail"" errorcode=""xxx""/>",XmlNodeType dot Element, null); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(tr); tr.Close(); XmlNode xm = xmlDoc.SelectSingleNode("login"); System.Diagnostics.Trace.WriteLine(xm.Attributes["value"].Value.ToString()); `````````````````
字体:大 中 小 |