bool ok = true; foreach (string s in maListe1) if (!maListe2.Contains(s)) ok = false; foreach (string s in maListe2) if (!maListe1.Contains(s)) ok = false; return ok; // true si les deux listes possèdent les mêmes éléments
XPathDocument doc = new XPathDocument(filename); XPathDocument doc1 = new XPathDocument(filename1); XPathNavigator nav = doc.CreateNavigator(); XPathNavigator nav1 = doc1.CreateNavigator(); XPathExpression expr2; XPathExpression expr3; XPathExpression expr4; XPathExpression expr5; expr2 = nav.Compile("/root.30/elements.9/elements/ElementExtractorMono.3/name"); expr3 = nav1.Compile("/root.30/elements.9/elements/ElementExtractorMono.3/name"); expr4 = nav.Compile("/root.30/elements.9/elements/ElementExtractorMulti.4/name"); expr5 = nav1.Compile("/root.30/elements.9/elements/ElementExtractorMulti.4/name"); XPathNodeIterator ite2 = nav.Select(expr2); XPathNodeIterator ite3 = nav1.Select(expr3); XPathNodeIterator ite4 = nav.Select(expr4); XPathNodeIterator ite5 = nav1.Select(expr5);
ite2.MoveNext(); ite3.MoveNext(); XPathNavigator nav2 = (XPathNavigator)ite2.Current.Clone(); XPathNavigator nav3 = (XPathNavigator)ite3.Current.Clone();
List<string> liste = new List<string>(); while(ite2.MoveNext()) // Changer par un do while s'il manque le 1er élément { liste.Add(ite2.Current.Value); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionprivate void Extractor_Click(object sender, EventArgs e) { textBox2.Clear(); textBox6.Clear(); destination = listview.SelectedItems[0].Text; String myPath2 = parentDirectory + "\" + destination;//On concave 2 chaines string Folder = listepat.SelectedItem.ToString(); String myPath3 = myPath2 + "\" + Folder; destination1 = listView1.SelectedItems[0].Text; string myPath4 = parentDirectory1 + "\" + destination1; string Folder1 = listepat2.SelectedItem.ToString(); string myPath5 = myPath4 + "\" + Folder1; string filename = myPath3; string filename1 = myPath5; XPathDocument doc = new XPathDocument(filename); XPathDocument doc1 = new XPathDocument(filename1); XPathNavigator nav = doc.CreateNavigator(); XPathNavigator nav1 = doc1.CreateNavigator(); XPathExpression expr2; XPathExpression expr3; expr2 = nav.Compile("/root.30/elements.9/elements/ElementExtractorMono.3/name"); expr3 = nav1.Compile("/root.30/elements.9/elements/ElementExtractorMono.3/name"); XPathNodeIterator ite2 = nav.Select(expr2); XPathNodeIterator ite3 = nav1.Select(expr3); List<string> liste1 = new List<string>(); List<string> liste2 = new List<string>(); int i 0,k 0; try { while (i < ite2.Count) { i++; liste1.Add(ite2.Current.Value); ite2.MoveNext(); } while (k < ite3.Count) { k++; liste2.Add(ite3.Current.Value); ite3.MoveNext(); } foreach (string s in liste1) { if (!liste2.Contains(s)) { textBox2.Text = textBox2.Text + s.ToString(); } } foreach (string r in liste2) { if (!liste1.Contains(r)) { textBox6.Text = textBox6.Text + r.ToString(); } } }
textBox2.Clear(); textBox6.Clear(); destination = listview.SelectedItems[0].Text; String myPath2 = parentDirectory + "\" + destination;//On concave 2 chaines string Folder = listepat.SelectedItem.ToString(); String myPath3 = myPath2 + "\" + Folder; destination1 = listView1.SelectedItems[0].Text; string myPath4 = parentDirectory1 + "\" + destination1; string Folder1 = listepat2.SelectedItem.ToString(); string myPath5 = myPath4 + "\" + Folder1; string filename = myPath3; string filename1 = myPath5; XPathDocument doc = new XPathDocument(filename); XPathDocument doc1 = new XPathDocument(filename1); XPathNavigator nav = doc.CreateNavigator(); XPathNavigator nav1 = doc1.CreateNavigator(); XPathExpression expr2; XPathExpression expr3; expr2 = nav.Compile("/root.30/elements.9/elements/ElementExtractorMono.3/name"); expr3 = nav1.Compile("/root.30/elements.9/elements/ElementExtractorMono.3/name"); XPathNodeIterator ite2 = nav.Select(expr2); XPathNodeIterator ite3 = nav1.Select(expr3); ite2.MoveNext(); ite3.MoveNext(); XPathNavigator nodesnav = ite2.Current; XPathNavigator nodesnav1 = ite3.Current; XPathNodeIterator nodestext = nodesnav.SelectDescendants(XPathNodeType.Text, true); XPathNodeIterator nodestext1 = nodesnav1.SelectDescendants(XPathNodeType.Text, true); List<string> liste1 = new List<string>(); List<string> liste2 = new List<string>(); int i 0, j 0; try { while (i < nodestext.Count) { liste1.Add(nodestext.Current.Value); i++; } while (j < nodestext1.Count) { liste2.Add(nodestext1.Current.Value); j++; } foreach (string s in liste1) { if (!liste2.Contains(s)) { textBox2.Text = textBox2.Text + "\r\n " + s.ToString(); } } foreach (string r in liste2) { if (!liste1.Contains(r)) { textBox6.Text = textBox6.Text + "\r\n " + r.ToString(); } } }