/// <summary> /// Extrait du code xml d'une chaine de caractère, le code n'est plus présent dans la chaine /// après traitement /// </summary> /// <param name="xml"></param> /// <param name="tag"></param> /// <returns></returns> public static XElement ExtractXml(ref string xml, string tag) { XElement _xml; XmlIndexes _tagIndexes; string _xmlString; if (xml == null || xml == string.Empty) { return(null); } if (tag == null || tag == string.Empty) { return(null); } // Récupère les indexs de la trame XML _tagIndexes = CRocrailXmlParser.GetTagIndexes(xml, tag); if (_tagIndexes == null) { return(null); } // Extraction du code XML de la chaine _xmlString = xml.Substring(_tagIndexes.StartTagIndex, _tagIndexes.Length); _xml = XElement.Parse(_xmlString); xml = xml.Substring(_tagIndexes.EndTagIndex); return(_xml); }
/// <summary> /// Extrait le header de la trame XML, le header n'est plus présent dans la chaine /// XML après traitement /// </summary> /// <param name="xml"></param> /// <returns></returns> public static CRocrailHeader ExtractHeader(ref string xml) { XElement _xml; CRocrailHeader _header; // Récupère la balise xml du header // Header xml : <xmlh><xml size="90" /></xmlh> _xml = CRocrailXmlParser.ExtractXml(ref xml, "xmlh"); if (_xml == null) { return(null); } // Traite le header _header = new CRocrailHeader(_xml); return(_header); }