private string diffWithDiffy(string firstXml, string secondXml) { try { XmlNode eines = createDOM(XmlReader.Create(firstXml.ToStream())); XmlNode anderes = createDOM(XmlReader.Create(secondXml.ToStream())); Knoten ersterKnoten = Knoten.createOf(eines); Knoten andererKnoten = Knoten.createOf(anderes); DiffEngine diff = new DiffEngine(); Knoten res = diff.Diff(ersterKnoten, andererKnoten); if (res == null) { return("XML files are equal"); } else { XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; settings.Encoding = XSConfiguration.Instance.Config.Encoding; XmlDocument result = res.ToString().ToXmlDocument(); StringBuilder sb = new StringBuilder(); using (XmlWriter w = XmlWriter.Create(sb, settings)) { result.WriteTo(w); } return(sb.ToString()); } } catch (Exception ex) { return(ex.Message); } }
/** * Löscht das angegebene Kind * @param kind Das zu löschende Kind */ public void removeKind(Knoten kind) { bool success = kinder.Remove(kind); Debug.Assert(success, "Kind nicht gefunden: " + kind.ToString()); }