Terradue.Cloud.OneVMTemplate.GetTemplateXml C# (CSharp) Метод

GetTemplateXml() публичный Метод

Merges the content of the additional info with the existing template.
public GetTemplateXml ( string key ) : string
key string
Результат string
        public string GetTemplateXml(string key){
            if (this.OneTemplate == null || this.OneTemplate.TEMPLATE == null) return null;
            //we add the new content
            XmlNode[] user_template = (XmlNode[])this.OneTemplate.TEMPLATE;
            foreach (XmlNode nodeUT in user_template) {
                if (nodeUT.LocalName == key) return nodeUT.InnerXml;
            }
            return null;
        }
    }

Usage Example

Пример #1
0
        //---------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Creates the instance.
        /// </summary>
        /// <returns>The instance.</returns>
        /// <param name="name">Name.</param>
        /// <param name="templateName">Template name.</param>
        /// <param name="networkName">Network name.</param>
        /// <param name="additionalTemplate">Additional template, value should be XML</param>
        public override CloudAppliance CreateInstance(string name, string templateName, string networkName, List <KeyValuePair <string, string> > additionalTemplate)
        {
            OneVMTemplate template    = (OneVMTemplate)this.GetTemplate(templateName);
            string        templatexml = "";

            foreach (KeyValuePair <string, string> kvp in additionalTemplate)
            {
                string xml = template.GetTemplateXml(kvp.Key);
                if (xml != null)
                {
                    templatexml += "<" + kvp.Key + ">" + xml + kvp.Value + "</" + kvp.Key + ">";
                }
            }
            if (templatexml == "")
            {
                template.AdditionalContent = "";
            }
            else
            {
                template.AdditionalContent = "<TEMPLATE>" + templatexml + "</TEMPLATE>";
            }
            OneImage[] disks   = new OneImage[0];
            OneNetwork network = (networkName != null && networkName != "" ? (OneNetwork)this.GetNetwork(networkName) : null);

            return(CreateInstance(name, template, disks, network));
        }