using System; using System.Collections.Generic; using System.ComponentModel; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Xml.Serialization; namespace GeoSigma.SigmaDrawerStyle { /// /// 文件导入,点类信息 /// public class PointInfoProperty : IPropertyFileImport { private IRectangularCSGridPropertyChange iChange; private string horizon = "无"; private string pointInfoName = "无"; private string x = "无"; private string y = "无"; private string z = "无"; /// /// Initializes a new instance of the class. /// public PointInfoProperty() { } /// /// Initializes a new instance of the class. /// /// public PointInfoProperty(IRectangularCSGridPropertyChange iChange) { } [Browsable(false)] public string ColumnLength { get; set; } [Category("\t属性"), DisplayName("\t\t\t\t\t\t\t层位"), Description("如:井名,地名,...")] [TypeConverter(typeof(Converter.ColumnCorrespondConvert))] public string Horizon { get { return horizon; } set { horizon = value; } } [Category("\t属性"), DisplayName("\t\t\t\t\t\tX"), Description("如:井名,地名,...")] [TypeConverter(typeof(Converter.ColumnCorrespondConvert))] public string X { get { return x; } set { x = value; } } [Category("\t属性"), DisplayName("\t\t\t\t\tY"), Description("如:井名,地名,...")] [TypeConverter(typeof(Converter.ColumnCorrespondConvert))] public string Y { get { return y; } set { y = value; } } [Category("\t属性"), DisplayName("\t\t\t\tZ"), Description("如:井名,地名,...")] [TypeConverter(typeof(Converter.ColumnCorrespondConvert))] public string Z { get { return z; } set { z = value; } } [Category("\t属性"), DisplayName("\t\t\t名称"), Description("如:井名,地名,...")] [TypeConverter(typeof(Converter.ColumnCorrespondConvert))] public string PointInfoName { get { return pointInfoName; } set { pointInfoName = value; } } /// /// 输出Xml数据 /// /// public string SerialXml() { string strData = ""; XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.IndentChars = " "; settings.NewLineChars = "\r\n"; settings.Encoding = Encoding.Default; // 去除xml声明 settings.OmitXmlDeclaration = true; System.IO.MemoryStream mem = new MemoryStream(); using (XmlWriter writer = XmlWriter.Create(mem, settings)) { //去除默认命名空间xmlns:xsd和xmlns:xsi XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); ns.Add(string.Empty, string.Empty); XmlSerializer formatter = new XmlSerializer(this.GetType()); formatter.Serialize(writer, this, ns); } return Encoding.Default.GetString(mem.ToArray()); } } }