public string getOntology(string conceptKeyword) { var dataWorker = new DataWorker(); var ontologytreeJson = string.Empty; keywordsList = new SortedSet<string>(); json = string.Empty; //get ontology from hiscentral var getOntologytree = dataWorker.getOntologyTree(conceptKeyword); XmlDocument ontologytreeXML = new XmlDocument(); if (getOntologytree != null) { ontologytreeXML.LoadXml(getOntologytree); //string json = Newtonsoft.Json.JsonConvert.SerializeXmlNode(doc.DocumentElement); } // Ontology tree var tree = new OntologyTree(); //var tmpxmldoc = ReadOntologyXmlFile(); FillTree(ontologytreeXML.DocumentElement, tree.Nodes); //XmlReader rdr = XmlReader.Create(new System.IO.StringReader(ontologytreeXML)); //while (rdr.Read()) //{ // if (rdr.NodeType == XmlNodeType.Element) // { // Console.WriteLine(rdr.LocalName); // } //} if (tree != null) { // XmlDocument doc = new XmlDocument(); // doc.LoadXml(ontologytreeXml); //string json = Newtonsoft.Json.JsonConvert.SerializeXmlNode(doc.DocumentElement); ontologytreeJson = Newtonsoft.Json.JsonConvert.SerializeObject(tree.Nodes[0].children, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore, PreserveReferencesHandling = PreserveReferencesHandling.None // PreserveReferencesHandling = PreserveReferencesHandling.Objects } ); } return ontologytreeJson; }