public void DeserializeObjects() { Object objectToDeserialize = null; try { while (stream.CanSeek) { objectToDeserialize = (Object)bformatter.Deserialize(stream); if (objectToDeserialize is SerialNode) { SerialNode serialNode = (SerialNode)objectToDeserialize; Node node = new Node(serialNode); } else if (objectToDeserialize is SerialRelation) { SerialRelation serialRelation = (SerialRelation)objectToDeserialize; Relation rel = new Relation(serialRelation); } } } catch (SerializationException ex) { Console.WriteLine(ex.Message); Console.WriteLine("EndoOfFile"); } }
public void saveConfigTree(ModelDoc2 model, LinkNode BaseNode, bool warnUser) { Object[] objects = model.FeatureManager.GetFeatures(true); string oldData = ""; Parameter param; foreach (Object obj in objects) { Feature feat = (Feature)obj; string t = feat.GetTypeName2(); if (feat.GetTypeName2() == "Attribute") { SolidWorks.Interop.sldworks.Attribute att = (SolidWorks.Interop.sldworks.Attribute)feat.GetSpecificFeature2(); if (att.GetName() == "URDF Export Configuration") { param = att.GetParameter("data"); oldData = param.GetStringValue(); } } } //moveComponentsToFolder((LinkNode)tree.Nodes[0]); retrieveSWComponentPIDs(BaseNode); SerialNode sNode = new SerialNode(BaseNode); StringWriter stringWriter; XmlSerializer serializer = new XmlSerializer(typeof(SerialNode)); stringWriter = new StringWriter(); serializer.Serialize(stringWriter, sNode); stringWriter.Flush(); stringWriter.Close(); string newData = stringWriter.ToString(); if (oldData != newData) { if (!warnUser || (warnUser && MessageBox.Show("The configuration has changed, would you like to save?", "Save Export Configuration", MessageBoxButtons.YesNo) == DialogResult.Yes)) { int ConfigurationOptions = (int)swInConfigurationOpts_e.swAllConfiguration; SolidWorks.Interop.sldworks.Attribute saveExporterAttribute = createSWSaveAttribute("URDF Export Configuration"); param = saveExporterAttribute.GetParameter("data"); param.SetStringValue2(stringWriter.ToString(), ConfigurationOptions, ""); param = saveExporterAttribute.GetParameter("name"); param.SetStringValue2("config1", ConfigurationOptions, ""); param = saveExporterAttribute.GetParameter("date"); param.SetStringValue2(DateTime.Now.ToString(), ConfigurationOptions, ""); param = saveExporterAttribute.GetParameter("exporterVersion"); param.SetStringValue2("1.1", ConfigurationOptions, ""); } } }
static public List <SerialNode> GetSerialNodeList(string XmlPath = "素材合成.exe.config") { //将XML文件加载进来 XDocument document = XDocument.Load(XmlPath); List <SerialNode> serialNodes = new List <SerialNode>(); //获取到XML的根元素进行操作 // = document.Elements("Flow"); var firstNodes = document.Nodes(); foreach (var secondNode in firstNodes) { foreach (var thirdNode in secondNode.Document.Elements()) { if (thirdNode.Name == "configuration") { foreach (var fourNode in thirdNode.Elements()) { if (fourNode.Name == "SerialNode") { foreach (var fiveNode in fourNode.Elements()) { SerialNode flow = new SerialNode(); foreach (var item in fiveNode.Attributes()) { if (item.Name == "command") { flow.Command = item.Value; } if (item.Name == "key") { flow.key = item.Value; } if (item.Name == "content") { flow.Content = item.Value; } } serialNodes.Add(flow); } } } } } } //获取根元素下的所有子元素 return(serialNodes); }
/// <summary> /// Load from the deprecated XML serialized scheme /// </summary> /// <param name="data">Data string to deserialize using XMLSerializer</param> /// <returns>TreeView LinkNode</returns> private static LinkNode LoadConfigFromStringXML(string data) { LinkNode baseNode = null; if (!string.IsNullOrWhiteSpace(data)) { XmlSerializer serializer = new XmlSerializer(typeof(SerialNode)); XmlTextReader textReader = new XmlTextReader(new StringReader(data)); SerialNode sNode = (SerialNode)serializer.Deserialize(textReader); textReader.Close(); baseNode = sNode.BuildLinkNodeFromSerialNode(); } return(baseNode); }
/// <summary> /// Load from the deprecated XML serialized scheme /// </summary> /// <param name="data">Data string to deserialize using XMLSerializer</param> /// <returns>TreeView LinkNode</returns> private static LinkNode LoadConfigFromStringXML(string data) { LinkNode baseNode = null; if (!string.IsNullOrWhiteSpace(data)) { XmlSerializer serializer = new XmlSerializer(typeof(SerialNode)); XmlTextReader textReader = new XmlTextReader(new StringReader(data)); // Not reading external files, so this can set to prohibit. Resolves CA3075 textReader.DtdProcessing = DtdProcessing.Prohibit; SerialNode sNode = (SerialNode)serializer.Deserialize(textReader); textReader.Close(); baseNode = sNode.BuildLinkNodeFromSerialNode(); } return(baseNode); }
public void Serialize(string filename) { SerializeData data = new SerializeData(filename + ".gombi"); Node[] nodes = MDiagram.Nodes; foreach (Node node in nodes) { SerialNode serial = node.Serialize(); data.SerializeObject(serial); } Relation[] relations = MDiagram.Relations; foreach (Relation rel in relations) { SerialRelation serial = rel.Serialize(); data.SerializeObject(serial); } data.CloseStream(); }
// Calls the Exporter loadConfigTree method and then populates the tree with the loaded config public void loadConfigTree() { Object[] objects = ActiveSWModel.FeatureManager.GetFeatures(true); string data = ""; foreach (Object obj in objects) { Feature feat = (Feature)obj; string t = feat.GetTypeName2(); if (feat.GetTypeName2() == "Attribute") { SolidWorks.Interop.sldworks.Attribute att = (SolidWorks.Interop.sldworks.Attribute)feat.GetSpecificFeature2(); if (att.GetName() == "URDF Export Configuration") { Parameter param = att.GetParameter("data"); data = param.GetStringValue(); } } } LinkNode basenode = null; if (!data.Equals("")) { XmlSerializer serializer = new XmlSerializer(typeof(SerialNode)); XmlTextReader textReader = new XmlTextReader(new StringReader(data)); SerialNode node = (SerialNode)serializer.Deserialize(textReader); basenode = new LinkNode(node); Common.loadSWComponents(ActiveSWModel, basenode); textReader.Close(); } if (basenode == null) { basenode = createEmptyNode(null); } addDocMenu(basenode); tree.Nodes.Clear(); tree.Nodes.Add(basenode); tree.ExpandAll(); tree.SelectedNode = tree.Nodes[0]; }