コード例 #1
0
ファイル: OntologyHelper.cs プロジェクト: CUAHSI/HydroClient
        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;
        }