/// <summary> /// Renvoie la liste des informations de parametres des objets de presentation /// </summary> /// <param name="doc"></param> /// <param name="nsmgr"></param> /// <returns></returns> public static Propriete ProprietesObjetsPresentation(XmlDocument doc, XmlNamespaceManager nsmgr, int i) { XmlNodeList nodeList2; XmlElement root = doc.DocumentElement; List <string> ListeProprietesObjetsPresentation = new List <string>(); string xpath = @"// w:p [ w:pPr / w:pStyle [@w:val='Heading1']][3] /following:: w:p [ w:pPr / w:pStyle [@w:val='Heading2']][2] /following:: w:p [ w:pPr / w:pStyle [@w:val='Heading3']][" + i + "]/following:: w:p [ w:pPr / w:pStyle [@w:val='Heading4']][2]/ following-sibling::w:tbl / w:tr /w:tc [count(. | // w:p [ w:pPr / w:pStyle [@w:val='Heading1']][3] /following:: w:p [ w:pPr / w:pStyle [@w:val='Heading2']][2] /following:: w:p [ w:pPr / w:pStyle [@w:val='Heading3']][" + (i + 1) + "]/ preceding-sibling::w:tbl / w:tr /w:tc)= count(// w:p [ w:pPr / w:pStyle [@w:val='Heading1']][3] /following:: w:p [ w:pPr / w:pStyle [@w:val='Heading2']][2] /following:: w:p [ w:pPr / w:pStyle [@w:val='Heading3']][" + (i + 1) + "]/preceding-sibling::w:tbl / w:tr /w:tc)]"; if (i == MethodeObjetPresentation.NomsObjetsPresentation(doc, nsmgr).Count) { xpath = @"// w:p [ w:pPr / w:pStyle [@w:val='Heading1']][3] /following:: w:p [ w:pPr / w:pStyle [@w:val='Heading2']][2] /following:: w:p [ w:pPr / w:pStyle [@w:val='Heading3']][" + i + "]/following:: w:p [ w:pPr / w:pStyle [@w:val='Heading4']][2]/ following-sibling::w:tbl / w:tr /w:tc [count(. | // w:p [ w:pPr / w:pStyle [@w:val='Heading1']][4]/ preceding-sibling::w:tbl / w:tr /w:tc)= count(// w:p [ w:pPr / w:pStyle [@w:val='Heading1']][4] /preceding-sibling::w:tbl / w:tr /w:tc)]"; } nodeList2 = root.SelectNodes(xpath, nsmgr); foreach (XmlNode isbn2 in nodeList2) { ListeProprietesObjetsPresentation.Add(isbn2.InnerText); } return(new Propriete(ListeProprietesObjetsPresentation[3], ListeProprietesObjetsPresentation[4], ListeProprietesObjetsPresentation[5])); }
/// <summary> /// Fonction qui retourne la listes des objets de presentation /// </summary> /// <param name="doc"></param> /// <param name="nsmgr"></param> /// <returns></returns> public static ObjetPresentation ObjetsPresentation(XmlDocument doc, XmlNamespaceManager nsmgr) { List <MethodeObjetPresentation> methodes = MethodeObjetPresentation.MethodesObjetsPresentation(doc, nsmgr); return(new ObjetPresentation(methodes)); }