public void write(XmlWriter w) { w.WriteStartElement("Hmi.Tag.Tag"); w.WriteAttributeString("AggregationName", "Tags"); w.WriteStartElement("AttributeList"); XMLUtil.SimpleValue(w, "AddressAccessMode", "Absolute"); XMLUtil.SimpleValue(w, "Name", Name); w.WriteEndElement(); // AttributeList w.WriteStartElement("LinkList"); XMLUtil.Link(w, "AcquisitionCycle", "10 s"); if (ControllerTag != null) { XMLUtil.Link(w, "ControllerTag", ControllerTag); } if (Connection != null) { XMLUtil.Link(w, "Connection", ControllerTag); } XMLUtil.Link(w, "DataType", DataType); XMLUtil.Link(w, "HmiDataType", HMIDataType); w.WriteEndElement(); // LinkList w.WriteStartElement("ObjectList"); if (ArrayLength > 0) { for (int i = 0; i < ArrayLength; i++) { w.WriteStartElement("Hmi.Tag.TagArrayMember"); w.WriteAttributeString("AggregationName", "Elements"); w.WriteStartElement("AttributeList"); XMLUtil.SimpleValue(w, "Name", "[" + i.ToString() + "]"); w.WriteEndElement(); // AttributeList w.WriteEndElement(); // Hmi.Tag.TagArrayMember w.WriteEndElement(); // ObjectList } } w.WriteEndElement(); // HMI.Tag.Tag }
public static FileInfo buildFile(string table_name, IEnumerable <Constant> constants) { XmlWriterSettings settings = new XmlWriterSettings { ConformanceLevel = ConformanceLevel.Document, Encoding = Encoding.UTF8, Indent = true }; FileInfo file; using (Stream stream = TempFile.Open("AlarmConst", "xml", out file)) { int id = 0; XmlWriter w = XmlWriter.Create(stream, settings); w.WriteStartDocument(); w.WriteStartElement("Document"); w.WriteStartElement("DocumentInfo"); w.WriteEndElement(); // DocumentInfo w.WriteStartElement("SW.Tags.PlcTagTable"); w.WriteAttributeString("ID", (id++).ToString()); w.WriteStartElement("AttributeList"); XMLUtil.SimpleValue(w, "Name", table_name); w.WriteEndElement(); // AttributeList w.WriteStartElement("ObjectList"); foreach (Constant c in constants) { w.WriteStartElement("SW.Tags.PlcUserConstant"); w.WriteAttributeString("ID", (id++).ToString()); w.WriteAttributeString("CompositionName", "UserConstants"); w.WriteStartElement("AttributeList"); XMLUtil.SimpleValue(w, "DataTypeName", "Int"); XMLUtil.SimpleValue(w, "Name", c.Name); XMLUtil.SimpleValue(w, "Value", c.Value.ToString()); w.WriteEndElement(); // AttributeList w.WriteStartElement("ObjectList"); w.WriteStartElement("MultilingualText"); w.WriteAttributeString("ID", (id++).ToString()); w.WriteAttributeString("CompositionName", "Comment"); w.WriteStartElement("ObjectList"); w.WriteStartElement("MultilingualTextItem"); w.WriteAttributeString("ID", (id++).ToString()); w.WriteAttributeString("CompositionName", "Items"); w.WriteStartElement("AttributeList"); XMLUtil.SimpleValue(w, "Culture", "sv-SE"); XMLUtil.SimpleValue(w, "Text", c.Comment); w.WriteEndElement(); // AttributeList w.WriteEndElement(); // MultilingualTextItem w.WriteEndElement(); // ObjectList w.WriteEndElement(); // MultilingualText w.WriteEndElement(); // ObjectList w.WriteEndElement(); // SW.Tags.PlcUserConstant } w.WriteEndElement(); // ObjectList w.WriteEndElement(); // SW.Tags.PlcUserConstant w.WriteEndElement(); // Document //w.Close(); } return(file); }