Example #1
0
 public void EnumerateFiles(XmlNodeHandler xmlCallback)
 {
     lock (file) {
         file.Seek(0, SeekOrigin.Begin);
         XmlDocument doc = new XmlDocument();
         doc.Load(file);
         foreach (XmlNode node in doc.FirstChild.ChildNodes)
         {
             xmlCallback(node);
         }
     }
 }
        /// <summary>
        /// Read RecipeParameters.xml from directory of Framework 
        /// </summary>
        /// <param name="dte"></param>
        /// <param name="_list"></param>
        /// <param name="internalXPath"></param>
        /// <param name="internalNamespace"></param>
        /// <param name="nodeHandler"></param>
        public void AddRecipeParameters(IServiceProvider provider, List<NameValueItem> _list, string internalXPath, string internalNamespace, XmlNodeHandler nodeHandler)
        {
            string configFileName = "RecipeParameters15.xml";

            try
            {
                DTE dte = (DTE)provider.GetService(typeof(DTE));
                string version = Helpers.GetSharePointVersion(dte);
                if (version != "")
                {
                    configFileName = "RecipeParameters" + version + ".xml";
                }
            }
            catch (Exception)
            {
            }

            IConfigurationService service = (IConfigurationService)provider.GetService(typeof(IConfigurationService));
            string basepath = service.BasePath;
            string configfilename = Path.Combine(basepath, configFileName);
            if (File.Exists(configfilename))
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(configfilename);

                XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
                nsmgr.AddNamespace("ns", internalNamespace);
                foreach (XmlNode node in doc.SelectNodes(internalXPath, nsmgr))
                {
                    foreach(NameValueItem nvitem in nodeHandler.GetNameValueItems(node, null, null))
                    {
                        if (nvitem != null)
                        {
                            _list.Add(nvitem);
                        }
                    }
                }
            }
        }
      public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
      {
        if (list != null)
        {
          return new StandardValuesCollection(list.ToArray());
        }
        
        list = new List<NameValueItem>();

        if (context != null)
        {
          _DTE service = (_DTE)context.GetService(typeof(_DTE));

          Project project = Helpers.GetSelectedProject(service.DTE);
          
          XmlNodeHandler handler = new XmlNodeHandler("", "", "", "");

          //find all items in project with .xml extension
          Helpers.NavigateProjectItems(project.ProjectItems, list, xPath, nameSpace, handler, ".xml");
        }

        return new StandardValuesCollection(list.ToArray());
      }      
        public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
        {
            if (list != null)
            {
                return(new StandardValuesCollection(list.ToArray()));
            }

            list = new List <NameValueItem>();

            if (context != null)
            {
                _DTE service = (_DTE)context.GetService(typeof(_DTE));

                Project project = Helpers.GetSelectedProject(service.DTE);

                XmlNodeHandler handler = new XmlNodeHandler("", "", "", "");

                //find all items in project with .xml extension
                Helpers.NavigateProjectItems(project.ProjectItems, list, xPath, nameSpace, handler, ".xml");
            }

            return(new StandardValuesCollection(list.ToArray()));
        }
Example #5
0
        /// <summary>
        /// Read RecipeParameters.xml from directory of Framework
        /// </summary>
        /// <param name="dte"></param>
        /// <param name="_list"></param>
        /// <param name="internalXPath"></param>
        /// <param name="internalNamespace"></param>
        /// <param name="nodeHandler"></param>
        public void AddRecipeParameters(IServiceProvider provider, List <NameValueItem> _list, string internalXPath, string internalNamespace, XmlNodeHandler nodeHandler)
        {
            string configFileName = "RecipeParameters15.xml";

            try
            {
                DTE    dte     = (DTE)provider.GetService(typeof(DTE));
                string version = Helpers.GetSharePointVersion(dte);
                if (version != "")
                {
                    configFileName = "RecipeParameters" + version + ".xml";
                }
            }
            catch (Exception)
            {
            }

            IConfigurationService service = (IConfigurationService)provider.GetService(typeof(IConfigurationService));
            string basepath       = service.BasePath;
            string configfilename = Path.Combine(basepath, configFileName);

            if (File.Exists(configfilename))
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(configfilename);

                XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
                nsmgr.AddNamespace("ns", internalNamespace);
                foreach (XmlNode node in doc.SelectNodes(internalXPath, nsmgr))
                {
                    foreach (NameValueItem nvitem in nodeHandler.GetNameValueItems(node, null, null))
                    {
                        if (nvitem != null)
                        {
                            _list.Add(nvitem);
                        }
                    }
                }
            }
        }