http://msdn.microsoft.com/en-us/library/2baksw0z.aspx on Controlling XML Serialization Using Attributes
- Convert an xml file to xsd by using the VS command promt xsd.exe /c filename.xml to get xsd
- convert from an xsd to .net class xsd.exe /c filename.xsd to get .cs file
can use XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = true;
settings.NewLineOnAttributes = true;
writer = XmlWriter.Create(Console.Out, settings);
public void SaveParamViewLayout()
{
TextWriter writer = null;
try
{
string fileNameGridLayout = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), Path.Combine(QTM.FeatureConfigInfo.ConfigDirectory, ConfigFileNameConst.TTD_PARAM_VIEW_LAYOUT_FNAME));
ParamViewLayout currLayout = new ParamViewLayout(ultraGridInput.Size, ultraGridOutput.Size);
writer = new StreamWriter(fileNameGridLayout);
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(ParamViewLayout));
//serialize it to the file
x.Serialize(writer, currLayout);
writer.Close();
}
catch
{ }
finally
{
if (writer != null)
writer.Close();
}
}
private void RestoreParamViewLayout()
{
FileStream fs = null;
try
{
string fileNameGridLayout = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), Path.Combine(QTM.FeatureConfigInfo.ConfigDirectory, ConfigFileNameConst.TTD_PARAM_VIEW_LAYOUT_FNAME));
if (File.Exists(fileNameGridLayout))
{
ParamViewLayout layout;
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(ParamViewLayout));
fs = new FileStream(fileNameGridLayout, FileMode.Open);
layout = (ParamViewLayout)x.Deserialize(fs);
fs.Close();
ultraGridInput.Dock = DockStyle.None;
ultraGridOutput.Dock = DockStyle.None;
ultraGridInput.Size = layout.inputParamSize;
ultraGridOutput.Size = layout.outputParamSize;
ultraGridInput.Dock = DockStyle.Fill;
ultraGridOutput.Dock = DockStyle.Bottom;
}
}
catch //(Exception)
{
//ignore this exception
}
finally
{
if (fs != null)
fs.Close();
}
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment