CreateNavigator() protected method

protected CreateNavigator ( XmlNode node ) : XPathNavigator
node XmlNode
return XPathNavigator
示例#1
0
 /// <summary>
 /// Generates an XPath navigatable dataset based on sql
 /// </summary>
 /// <param name="sql">The SQL to execute</param>
 /// <param name="setName">Name of the returned set</param>
 /// <returns>A <setName></setName> element with the results, or an <error></error> element if an exception occured</returns>
 public static XPathNodeIterator GetDataSet(string sql, string setName)
 {
   try
   {
     DataSet ds = GetDataSetFromSql(sql, setName);
     var dataDoc = new XmlDataDocument(ds);
     return dataDoc.CreateNavigator().Select(".");
   }
   catch (Exception e)
   {
     // If there's an exception we'll output an error element instead
     var errorDoc = new XmlDocument();
     errorDoc.LoadXml(String.Format("<error>{0}</error>", HttpUtility.HtmlEncode(e.ToString())));
     return errorDoc.CreateNavigator().Select(".");
   }
 }
示例#2
0
        public void Navigator()
        {
            XmlDataDocument doc = new XmlDataDocument();
            doc.DataSet.ReadXmlSchema(new StringReader(RegionXsd));
            doc.Load(new StringReader(RegionXml));

            XPathNavigator Nav = doc.CreateNavigator();

            Nav.MoveToRoot();
            Nav.MoveToFirstChild();

            Assert.Equal("Root", Nav.Name.ToString());
            Assert.Equal(string.Empty, Nav.NamespaceURI.ToString());
            Assert.Equal("False", Nav.IsEmptyElement.ToString());
            Assert.Equal("Element", Nav.NodeType.ToString());
            Assert.Equal(string.Empty, Nav.Prefix);

            Nav.MoveToFirstChild();
            Nav.MoveToNext();
            Assert.Equal("Region", Nav.Name.ToString());

            Assert.Equal("2Western", Nav.Value.Substring(0, Nav.Value.IndexOfAny(new[] { '\r', '\n' })));
            Nav.MoveToFirstChild();
            Assert.Equal("2", Nav.Value);
            Nav.MoveToRoot();
            Assert.Equal("Root", Nav.NodeType.ToString());
        }
示例#3
0
		public void Navigator ()
		{
			XmlDataDocument doc = new XmlDataDocument ();
			doc.DataSet.ReadXmlSchema ("Test/System.Xml/region.xsd");
			doc.Load ("Test/System.Xml/region.xml");

			XPathNavigator Nav = doc.CreateNavigator ();
			
			Nav.MoveToRoot ();
			Nav.MoveToFirstChild ();

			Assert.AreEqual ("Root", Nav.Name.ToString (), "test#01");
			Assert.AreEqual (string.Empty, Nav.NamespaceURI.ToString (), "test#02");
			Assert.AreEqual ("False", Nav.IsEmptyElement.ToString (), "test#03");
			Assert.AreEqual ("Element", Nav.NodeType.ToString (), "test#04");
			Assert.AreEqual (string.Empty, Nav.Prefix, "test#05");
			
			Nav.MoveToFirstChild ();
			Nav.MoveToNext ();
			Assert.AreEqual ("Region", Nav.Name.ToString (), "test#06");
			
			Assert.AreEqual ("2Western", Nav.Value.Substring(0, Nav.Value.IndexOf ("\n") - 1), "test#07");
			Nav.MoveToFirstChild ();
			Assert.AreEqual ("2", Nav.Value, "test#08");
			Nav.MoveToRoot ();
			Assert.AreEqual ("Root", Nav.NodeType.ToString (), "test#09");
		}
示例#4
0
    private static void LogErrorEventlog(XmlDataDocument _XmlDataDocument)
    {
      if (!EventLog.SourceExists("NetVerk.fo"))
      {
        EventLog.CreateEventSource("NetVerk.fo", "Application");
      }
      EventLog myLog = new EventLog();
      myLog.Source = "NetVerk.fo";
      string _ErrorString = "Error:";
      XPathNavigator navigator = _XmlDataDocument.CreateNavigator();
      navigator.MoveToFirst();
      navigator.MoveToFirstChild();
      navigator.MoveToFirstChild();
      navigator.MoveToFirstChild();
      //Format :
      //Application name, Desription 
      for (int i = 0; i < 2; i++)
      {
        _ErrorString += navigator.LocalName + " - ";
        navigator.MoveToFirstChild();
        _ErrorString += navigator.Value + "   ";
        navigator.MoveToParent();
        navigator.MoveToNext();
      }

      myLog.WriteEntry(_ErrorString);
    }
示例#5
0
 private static void LogErrorFile(XmlDataDocument _XmlDataDocument)
 {
   CheckDirectory(InnerXmlFileName);
   _innerXmlTextFileMutex.WaitOne();
   FileInfo _LogFile = new FileInfo(InnerXmlFileName);
   StreamWriter _SW;
   if (!_LogFile.Exists)
   {
     _SW = _LogFile.CreateText();
   }
   else
   {
     _SW = _LogFile.AppendText();
   }
   _SW.WriteLine("<Log>");
   _SW.WriteLine("\t<Category>");
   _SW.WriteLine("\tError");
   _SW.WriteLine("\t</Category>");
   _SW.WriteLine("\t<DateTime>");
   _SW.WriteLine("\t" + DateTime.Now.ToString());
   _SW.WriteLine("\t</DateTime>");
   _SW.WriteLine("\t<Message>");
   XPathNavigator navigator = _XmlDataDocument.CreateNavigator();
   navigator.MoveToFirst();
   navigator.MoveToFirstChild();
   navigator.MoveToFirstChild();
   navigator.MoveToFirstChild();
   //Format :
   //Application name
   //Desription
   //Details
   //LineNumber
   //SourceLine
   for (int i = 0; i < 5; i++)
   {
     _SW.WriteLine("\t\t<" + navigator.LocalName + ">");
     navigator.MoveToFirstChild();
     _SW.WriteLine("\t\t" + navigator.Value);
     navigator.MoveToParent();
     _SW.WriteLine("\t\t</" + navigator.LocalName + ">");
     navigator.MoveToNext();
   }
   _SW.WriteLine("\t</Message>");
   _SW.WriteLine("</Log>");
   _SW.Flush();
   _SW.Close();
   _innerXmlTextFileMutex.ReleaseMutex();
 }
示例#6
0
 private static void LogErrorHtml(XmlDataDocument _XmlDataDocument)
 {
   _HtmlFileMutex.WaitOne();
   XslTransform _XslTransform = new XslTransform();
   _XslTransform.Load(AppDomain.CurrentDomain.BaseDirectory + "/Log/ReportTemplate.xslt");
   XPathNavigator _Navigator = _XmlDataDocument.CreateNavigator();
   string m_LogName = InnerXmlFileName.Replace(".txt", DateTime.Now.Ticks.ToString()) + ".html";
   CheckDirectory(m_LogName);
   StreamWriter _SW = new StreamWriter(m_LogName);
   _XslTransform.Transform(_Navigator, null, _SW, null);
   _SW.Flush();
   _SW.Close();
   _HtmlFileMutex.ReleaseMutex();
 }
    protected void Button1_Click(object sender, EventArgs e)
    {
        string index = @"C:\Users\Soumya\Documents\Visual Studio 2013\WebSites\WebSite1\indx";
        Directory dir = FSDirectory.GetDirectory(index);
        System.Xml.XmlDataDocument file = new System.Xml.XmlDataDocument();
        file.Load(@"C:\Users\Soumya\Documents\Visual Studio 2013\WebSites\WebSite1\App_Data\movies.xml");
        Analyzer ana = new StandardAnalyzer();
        IndexWriter wr = new IndexWriter(dir, ana, true);
        try
        {
            foreach (System.Xml.XPath.XPathNavigator movie in file.CreateNavigator().Select("//movie"))
            {
                string b = "", c = "", d = "", e2 = "", f = "", g = "", h = "", i = "", j = "", k = "", l = "", m = "", n = "", o = "", p = "";
                Document movieIterator = new Document();
                movieIterator.Add(new Field("id", movie.GetAttribute("id", string.Empty), Field.Store.YES, Field.Index.NO, Field.TermVector.NO));
                int a = Convert.ToInt32(movie.GetAttribute("id", string.Empty));
                if (movie.SelectSingleNode("imageLink") != null)
                {
                    b = movie.SelectSingleNode("imageLink").Value;
                }
                if (movie.SelectSingleNode("name") != null)
                {
                    c = movie.SelectSingleNode("name").Value;
                    movieIterator.Add(new Field("name", movie.SelectSingleNode("name").Value, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));
                }
                if (movie.SelectSingleNode("score") != null)
                {
                    d = movie.SelectSingleNode("score").Value;
                }
                if (movie.SelectSingleNode("MovieInfo") != null)
                {
                    e2 = movie.SelectSingleNode("MovieInfo").Value;
                    movieIterator.Add(new Field("MovieInfo", movie.SelectSingleNode("MovieInfo").Value, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));
                }
                if (movie.SelectSingleNode("duration") != null)
                {
                    f = movie.SelectSingleNode("duration").Value;
                }
                if (movie.SelectSingleNode("genres") != null)
                {
                    XPathNodeIterator xx = movie.SelectSingleNode("genres").SelectChildren(XPathNodeType.Element);
                    while (xx.MoveNext())
                    {
                        g = g + xx.Current.Value + "***";
                    }
                    movieIterator.Add(new Field("genres", movie.SelectSingleNode("genres").Value, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));
                }
                if (movie.SelectSingleNode("director") != null)
                {
                    h = movie.SelectSingleNode("director").Value;
                    movieIterator.Add(new Field("director", movie.SelectSingleNode("director").Value, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));

                }
                if (movie.SelectSingleNode("writer") != null)
                {
                    i = movie.SelectSingleNode("writer").Value;
                    movieIterator.Add(new Field("writer", movie.SelectSingleNode("writer").Value, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));
                }
                if (movie.SelectSingleNode("TheatreRelease") != null)
                {
                    j = movie.SelectSingleNode("TheatreRelease").Value;
                }
                if (movie.SelectSingleNode("DvdRelease") != null)
                {
                    k = movie.SelectSingleNode("DvdRelease").Value;
                }
                if (movie.SelectSingleNode("BOCollection") != null)
                {
                    l = movie.SelectSingleNode("BOCollection").Value;
                }
                if (movie.SelectSingleNode("Production") != null)
                {
                    m = movie.SelectSingleNode("Production").Value;
                    movieIterator.Add(new Field("Production", movie.SelectSingleNode("Production").Value, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));
                }
                if (movie.SelectSingleNode("actors") != null)
                {
                    XPathNodeIterator xx = movie.SelectSingleNode("actors").SelectChildren(XPathNodeType.Element);
                    while (xx.MoveNext())
                    {
                        n = n + xx.Current.Value + "***";
                    }

                    movieIterator.Add(new Field("actors", movie.SelectSingleNode("actors").Value, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));
                }
                if (movie.SelectSingleNode("reviews") != null)
                {
                    XPathNodeIterator xx = movie.SelectSingleNode("reviews").SelectChildren(XPathNodeType.Element);
                    while (xx.MoveNext())
                    {
                        o = o + xx.Current.Value + "***";
                    }

                    movieIterator.Add(new Field("reviews", movie.SelectSingleNode("reviews").Value, Field.Store.YES, Field.Index.TOKENIZED, Field.TermVector.NO));
                }
                if (movie.SelectSingleNode("classifiedscore") != null)
                {
                    k = movie.SelectSingleNode("classifiedscore").Value;
                }
                SqlConnection con = new SqlConnection(connStr);
                com = new SqlCommand("insert into movies(id,imageLink,name,score,MovieInfo,duration,genres,director,writer,TheatreRelease,DvdRelease,BOCollection,Production,actors,reviews,classifiedscore) values (@a,@b,@c,@d,@e2,@f,@g,@h,@i,@j,@k,@l,@m,@n,@o,@p)", con);
                com.Parameters.Add("@a", a);
                com.Parameters.Add("@b", b);
                com.Parameters.Add("@c", c);
                com.Parameters.Add("@d", d);
                com.Parameters.Add("@e2", e2);
                com.Parameters.Add("@f", f);
                com.Parameters.Add("@g", g);
                com.Parameters.Add("@h", h);
                com.Parameters.Add("@i", i);
                com.Parameters.Add("@j", j);
                com.Parameters.Add("@k", k);
                com.Parameters.Add("@l", l);
                com.Parameters.Add("@m", m);
                com.Parameters.Add("@n", n);
                com.Parameters.Add("@o", o);
                com.Parameters.Add("@o", p);
                con.Open();
                com.ExecuteNonQuery();
                con.Close();

                wr.AddDocument(movieIterator);
            }
            dir.Close();
            wr.Optimize();

        }
        finally { wr.Close(); }
    }