Beispiel #1
0
        public void OpenFile(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter           = "XML (*.xml)|*.xml|All files (*.*)|*.*";
            openFileDialog.InitialDirectory = Environment.CurrentDirectory;
            if (openFileDialog.ShowDialog() == true)
            {
                try
                {
                    XPathNavigator navigator = new XPathDocument(openFileDialog.FileName).CreateNavigator();
                    foreach (var item in navigator.Select("Data/Bran/x"))
                    {
                        xTextBox.Text = item.ToString();
                    }
                    foreach (var item in navigator.Select("Data/Bran/b"))
                    {
                        bTextBox.Text = item.ToString();
                    }
                    foreach (var item in navigator.Select("Data/Bran/c"))
                    {
                        cTextBox.Text = item.ToString();
                    }
                    foreach (var item in navigator.Select("Data/Bran/k"))
                    {
                        kTextBox.Text = item.ToString();
                    }
                }
                catch { MessageBox.Show("Некоректний файл"); }
            }
        }
Beispiel #2
0
        public void RestoreVersionInWcfLobNamespaces()
        {
            const string input = @"<Send xmlns='http://Microsoft.LobServices.Sap/2007/03/Idoc/ANY_IDOC/Send'>
	<idocData>
		<EDI_DC40 xmlns='http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/ANY_IDOC'>
			<IDOCTYP xmlns='http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/Common/'>ANY_IDOC</IDOCTYP>
		</EDI_DC40>
	</idocData>
</Send>";

            using (var reader = XmlReader.Create(new StringReader(input)))
            {
                var navigator = new XPathDocument(
                    new XmlTranslatorStream(
                        reader,
                        Encoding.Default,
                        new[] {
                    new XmlNamespaceTranslation(
                        @"http://Microsoft\.LobServices\.Sap/2007/03/((?:Types/)?Idoc(?!/Common))/(\w+)(/Send)?",
                        "http://Microsoft.LobServices.Sap/2007/03/$1/3/$2//701$3")
                },
                        XmlTranslationModes.Default)).CreateNavigator();

                Assert.That(navigator.Select("//s0:*", "s0=http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ANY_IDOC//701/Send").Count, Is.EqualTo(2));
                Assert.That(navigator.Select("//s1:*", "s1=http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/3/ANY_IDOC//701").Count, Is.EqualTo(1));
                Assert.That(navigator.Select("//s2:*", "s2=http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/Common/").Count, Is.EqualTo(1));
            }
        }
        public static void LoadFileIntoList(TextAsset ass, List <DiaNodeMold> NodeListToFill, List <DiaNodeList> ListListToFill, DiaNodeType NodesType)
        {
            XPathNavigator xPathNavigator = new XPathDocument(new StringReader(ass.text)).CreateNavigator();

            xPathNavigator.MoveToFirst();
            xPathNavigator.MoveToFirstChild();
            foreach (XPathNavigator item2 in xPathNavigator.Select("Node"))
            {
                try
                {
                    TextReader  textReader  = new StringReader(item2.OuterXml);
                    DiaNodeMold diaNodeMold = (DiaNodeMold) new XmlSerializer(typeof(DiaNodeMold)).Deserialize(textReader);
                    diaNodeMold.nodeType = NodesType;
                    NodeListToFill.Add(diaNodeMold);
                    textReader.Dispose();
                }
                catch (Exception ex)
                {
                    Log.Message("Exception deserializing " + item2.OuterXml + ":\n" + ex.InnerException);
                }
            }
            foreach (XPathNavigator item3 in xPathNavigator.Select("NodeList"))
            {
                try
                {
                    TextReader  textReader2 = new StringReader(item3.OuterXml);
                    DiaNodeList item        = (DiaNodeList) new XmlSerializer(typeof(DiaNodeList)).Deserialize(textReader2);
                    ListListToFill.Add(item);
                }
                catch (Exception ex2)
                {
                    Log.Message("Exception deserializing " + item3.OuterXml + ":\n" + ex2.InnerException);
                }
            }
        }
Beispiel #4
0
        public void RemoveVersionFromWcfLobNamespaces()
        {
            const string input = @"<Receive xmlns='http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ANY_IDOC//701/Receive'>
	<idocData>
		<EDI_DC40 xmlns='http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/3/ANY_IDOC//701'>
			<IDOCTYP xmlns='http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/Common/'>ANY_IDOC</IDOCTYP>
		</EDI_DC40>
	</idocData>
</Receive>";

            using (var reader = XmlReader.Create(new StringReader(input)))
            {
                var navigator = new XPathDocument(
                    new XmlTranslatorStream(
                        reader,
                        Encoding.Default,
                        new[] {
                    new XmlNamespaceTranslation(
                        @"http://Microsoft\.LobServices\.Sap/2007/03(/Types)?/Idoc(?:/\d)/(\w+)/(?:/\d{3})(/\w+)?",
                        "http://Microsoft.LobServices.Sap/2007/03$1/Idoc/$2$3")
                },
                        XmlTranslationModes.Default)).CreateNavigator();

                Assert.That(navigator.Select("//s0:*", "s0=http://Microsoft.LobServices.Sap/2007/03/Idoc/ANY_IDOC/Receive").Count, Is.EqualTo(2));
                Assert.That(navigator.Select("//s1:*", "s1=http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/ANY_IDOC").Count, Is.EqualTo(1));
                Assert.That(navigator.Select("//s2:*", "s2=http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/Common/").Count, Is.EqualTo(1));
            }
        }
Beispiel #5
0
        /// <summary>
        /// Creates an <see cref="AtomLink" /> instance from XML.
        /// </summary>
        /// <param name="xmlReader">
        /// The <see cref="XmlReader" /> containing the XML representation of
        /// the Atom Link.
        /// </param>
        /// <returns>
        /// A new instance of <see cref="AtomLink" /> containing the data from
        /// the XML representation of the Atom link contained in
        /// <paramref name="xmlReader" />.
        /// </returns>
        /// <exception cref="System.ArgumentException">
        /// The supplied XML reader contains an atom:link element without an href attribute.
        /// or
        /// The supplied XML reader contains an atom:link element without a rel attribute.
        /// </exception>
        public static AtomLink ReadFrom(XmlReader xmlReader)
        {
            var navigator = new XPathDocument(xmlReader).CreateNavigator();

            var resolver = new XmlNamespaceManager(new NameTable());

            resolver.AddNamespace("atom", "http://www.w3.org/2005/Atom");

            var href = navigator
                       .Select("/atom:link/@href", resolver)
                       .Cast <XPathNavigator>()
                       .Select(x => x.Value)
                       .SingleOrDefault();

            if (href == null)
            {
                throw new ArgumentException("The supplied XML reader contains an atom:link element without an href attribute. An atom:link element must have an href attribute.", "xmlReader");
            }

            var rel = navigator
                      .Select("/atom:link/@rel", resolver)
                      .Cast <XPathNavigator>()
                      .Select(x => x.Value)
                      .SingleOrDefault();

            if (rel == null)
            {
                throw new ArgumentException("The supplied XML reader contains an atom:link element without a rel attribute. An atom:link element must have a rel attribute.", "xmlReader");
            }

            return(new AtomLink(rel, new Uri(href, UriKind.RelativeOrAbsolute)));
        }
Beispiel #6
0
        public override bool Execute()
        {
            if (string.IsNullOrEmpty(IntermediateDirectory))
            {
                base.Log.LogError("IntermediateDirectory is null or empty");
            }
            string path = null;

            try
            {
                path = Path.Combine(IntermediateDirectory, "ContentPipeline.xml");
            }
            catch (ArgumentException)
            {
                base.Log.LogError("IntermediateDirectory invalid");
            }

            if (base.Log.HasLoggedErrors)
            {
                return(false);
            }

            List <ITaskItem> list = new List <ITaskItem>();

            if (File.Exists(path))
            {
                XPathNavigator navigator = null;
                try
                {
                    navigator = new XPathDocument(path).CreateNavigator();
                    if (BuildWasSuccessful(navigator))
                    {
                        XPathNodeIterator outputiterator = navigator.Select("/XnaContent/Asset/Item[not(contains(Options,'IntermediateFile'))]/Output");
                        XPathNodeIterator extraiterator  = navigator.Select("/XnaContent/Asset/Item[not(contains(Options,'IntermediateFile'))]/Extra");
                        while (outputiterator.MoveNext())
                        {
                            list.Add(new TaskItem(outputiterator.Current.Value));
                        }
                        while (extraiterator.MoveNext())
                        {
                            list.Add(new TaskItem(extraiterator.Current.Value));
                        }
                    }
                }
                catch (XmlException)
                {
                }
            }
            this.outputContentFiles = list.ToArray();
            return(!base.Log.HasLoggedErrors);
        }
Beispiel #7
0
        protected void readConfig(string configFile)
        {
            services = new List <ServiceInfoType>();
            //adapterTypes = new Dictionary<AdapterTypes,ArrayList>();
            adapterNames = new Dictionary <string, AdapterSpec>();

            XPathNavigator nav = new XPathDocument(configFile).CreateNavigator();

            // Add plain services to list
            XPathNodeIterator startservices = nav.Select("//StartService");

            foreach (XPathNavigator node in startservices)
            {
                services.Add(new ServiceInfoType(getChild(node, "Contract"), getChild(node, "Service")));
            }

            // Add adapters to list, and to dictionary
            XPathNodeIterator adapters = nav.Select("//Adapter");

            Console.WriteLine(adapters.Count + " adapters in config");
            foreach (XPathNavigator node in adapters)
            {
                // Get the relevant info for this adapter

                // Attributes
                string          sType = node.GetAttribute("type", "");
                AdapterTypeEnum type  = AdapterFactory.GetType(sType);
                string          name  = node.GetAttribute("name", "");

                // Children
                string contract = getChild(node, "Contract", true);
                string service  = getChild(node, "Service");

                // Add elements to the service array and dictionary
                if (adapterNames.ContainsKey(name))
                {
                    throw new ConfigException("Duplicate adapter name \"" + name + "\"");
                }
                else
                {
                    // Add a null adapter for now.  An adapter will be created when the service is actually started
                    ServiceInfoType serviceInfo = new ServiceInfoType(contract, service);
                    AdapterSpec     adapterInfo = new AdapterSpec(type, name, serviceInfo);
                    adapterNames.Add(name, adapterInfo);
                    //adapterServices.Add(service, adapterInfo);
                    //services.Add(serviceInfo);
                }
            }
        }
Beispiel #8
0
        public static void PostProcess(string xsdFile, ref string generatedCode, CodeDomProvider Provider)
        {
            XPathNavigator nav;

            using (FileStream fs = new FileStream(xsdFile, FileMode.Open, FileAccess.Read)) {
                nav = new XPathDocument(fs).CreateNavigator();
            }

            XPathNodeIterator it = nav.Select(PostExts);

            while (it.MoveNext())
            {
                Dictionary <string, string> values = ParsePEValue(it.Current.Value);
                Type t = Type.GetType(values["extension-type"], true);
                // Is the type an ICodeExtension?
                Type iface = t.GetInterface(typeof(IPostExtension).Name);
                if (iface == null)
                {
                    throw new ArgumentException(string.Format(Resources.ex_InvalidExtensionType, it.Current.Value));
                }

                IPostExtension ext = (IPostExtension)Activator.CreateInstance(t);
                ext.Initialize(values);
                // Run it!
                ext.PostProcess(ref generatedCode, Provider);
            }
        }
        static OSLanguageHelper()
        {
            AvailableUploadEnabledLanguagesList = new Dictionary <String, OSLanguage>();
            AvailableWebEnabledLanguagesList    = new Dictionary <String, OSLanguage>();
            AllLanguagesList = new Dictionary <String, OSLanguage>();
            XPathNavigator    xmlMetadataNavigator = new XPathDocument(new XmlTextReader(new StringReader(OpenSubtitlesDotNET.Resource.OSLanguageTableDump))).CreateNavigator();
            XPathNodeIterator languagesIter        = xmlMetadataNavigator.Select("OSLanguageTableDump/language");

            if (languagesIter.Count > 0)
            {
                while (languagesIter.MoveNext())
                {
                    OSLanguage language = language = new OSLanguage(languagesIter.Current.SelectSingleNode("IdSubLanguage").Value,
                                                                    languagesIter.Current.SelectSingleNode("ISO639").Value,
                                                                    languagesIter.Current.SelectSingleNode("LanguageName").Value,
                                                                    languagesIter.Current.SelectSingleNode("UploadEnabled").Value.Equals("0") ? false : true,
                                                                    languagesIter.Current.SelectSingleNode("WebEnabled").Value.Equals("0") ? false : true);
                    if (!languagesIter.Current.SelectSingleNode("UploadEnabled").Value.Equals("0"))
                    {
                        AvailableUploadEnabledLanguagesList.Add(language.IdSubLanguage, language);
                    }
                    if (!languagesIter.Current.SelectSingleNode("WebEnabled").Value.Equals("0"))
                    {
                        AvailableWebEnabledLanguagesList.Add(language.IdSubLanguage, language);
                    }
                    AllLanguagesList.Add(language.IdSubLanguage, language);
                }
            }
        }
Beispiel #10
0
        public override IEnumerable <Row> Execute(IEnumerable <Row> rows)
        {
            foreach (var row in rows)
            {
                if (ShouldRun(row))
                {
                    var target = string.Empty;
                    var reader = new StringReader(row[InKey].ToString());
                    using (var xmlReader = XmlReader.Create(reader, _settings)) {
                        var navigator = new XPathDocument(xmlReader).CreateNavigator();
                        var result    = navigator.Select(_xPath);
                        while (result.MoveNext())
                        {
                            target += result.Current.Value;
                        }
                    }
                    row[OutKey] = Common.ConversionMap[_outType](target);
                }
                else
                {
                    Interlocked.Increment(ref SkipCount);
                }

                yield return(row);
            }
        }
Beispiel #11
0
        public static void Read(string filepath, LesseeManager lessees, ReferenceTable references, IdTable ids)
        {
            var xml  = new XPathDocument(filepath).CreateNavigator();
            var li   = xml.Select("/Lessees/Lessee");
            var list = new List <Lessee>();

            while (li.MoveNext())
            {
                var lnode = li.Current;
                var l     = new Lessee();
                ids[l] = new Guid(lnode.GetAttribute("id", ""));
                AssignProperties(lnode, l, references);
                var pi = lnode.Select("Payments/AdvancePayment");
                while (pi.MoveNext())
                {
                    var pnode = pi.Current;
                    var p     = new AdvancePayment();
                    ids[p] = new Guid(pnode.GetAttribute("id", ""));
                    AssignProperties(pnode, p, references);
                    l.Payments.Add(p);
                }
                list.Add(l);
            }
            foreach (var i in list.OrderBy(item => item.Name))
            {
                lessees.Add(i);
            }
        }
Beispiel #12
0
        private void OnMessageReceived(string sender, string message)
        {
            if (string.IsNullOrEmpty(message))
            {
                return;
            }

            using (var reader = new StringReader(message))
            {
                var nav = new XPathDocument(reader).CreateNavigator();
                foreach (XPathNavigator actionNode in nav.Select(ActionsExpr))
                {
                    if (actionNode.Name.Equals("uiElementActionRef", StringComparison.InvariantCultureIgnoreCase))
                    {
                        var actionId = Guid.Parse(actionNode.GetAttribute("Id", string.Empty));
                        var data     = actionNode.Value;

                        Guid pluginId;
                        Guid.TryParse(actionNode.GetAttribute("PluginId", string.Empty), out pluginId);

                        _pluginManager.ExecuteAction(actionId, !Guid.Empty.Equals(pluginId) ? (Guid?)pluginId : null, data);
                    }
                }
            }
        }
        private Dictionary <string, XPathNavigator> GetXmlComment(Type type)
        {
            if (type == null)
            {
                return(new Dictionary <string, XPathNavigator>());
            }

            var key = type.Assembly.GetName().Name;
            //Dictionary<string, XPathNavigator> xmlComments = null;
            var fileFullName = $"{key}.xml";

            if (!File.Exists(fileFullName))
            {
                var assemblyPath = Path.GetDirectoryName(type.Assembly.Location);
                fileFullName = Path.Combine(assemblyPath + "", fileFullName);
            }
            if (!_xmlComments.TryGetValue(key, out var xmlComments) &&
                File.Exists(fileFullName)
                )
            {
                using (var sr = File.OpenText(fileFullName))
                {
                    var xmlMembers = new XPathDocument(sr).CreateNavigator().SelectSingleNode(AllMemberXPath);
                    xmlComments = new Dictionary <string, XPathNavigator>();
                    foreach (XPathNavigator path in xmlMembers.Select("member"))
                    {
                        xmlComments.Add(path.GetAttribute("name", ""), path);
                    }
                    _xmlComments.Add(key, xmlComments);
                }
            }
            return(xmlComments);
        }
Beispiel #14
0
        //========================================================================================
        // Constructor
        //========================================================================================

        public ResultsSheet()
            : base()
        {
            InitializeComponent();

            translator = new Translator("Options");

            // Output Target

            XPathNavigator nav = new XPathDocument(
                new StringReader(translator.GetString("OutputTarget"))).CreateNavigator();

            XPathNodeIterator nodes = nav.Select("OutputTarget/target");

            while (nodes.MoveNext())
            {
                targetBox.Items.Add(nodes.Current.Value);
            }

            // Output Format

            nav = new XPathDocument(
                new StringReader(translator.GetString("OutputFormat"))).CreateNavigator();

            nodes = nav.Select("OutputFormat/format");
            while (nodes.MoveNext())
            {
                formatBox.Items.Add(nodes.Current.Value);
            }

            Reset();
        }
Beispiel #15
0
        /// <summary />
        public static void SelectChildrenSpeed(int it)
        {
            int            iterations = (int)it;
            long           start;
            long           end;
            XPathNavigator context = new XPathDocument(@"..\data.xml").CreateNavigator();

            context.MoveToFirstChild();
            XPathExpression     expr = context.Compile("child::sch:assert");
            XmlNamespaceManager mgr  = new XmlNamespaceManager(context.NameTable);

            mgr.AddNamespace("dv", "deverest:schemas");
            mgr.AddNamespace("sch", Schema.Namespace);
            expr.SetContext(mgr);

            start = DateTime.Now.Ticks;
            for (int i = 0; i < iterations; i++)
            {
                context.Select(expr);
            }
            end = DateTime.Now.Ticks;
            //Console.WriteLine("Elapsed time for compiled expression select: {0}", TimeSpan.FromTicks(end - start).TotalMilliseconds);

            string ns = Schema.Namespace;

            start = DateTime.Now.Ticks;
            for (int i = 0; i < iterations; i++)
            {
                context.SelectChildren("assert", ns);
            }
            end = DateTime.Now.Ticks;
            //Console.WriteLine("Elapsed time for children select: {0}", TimeSpan.FromTicks(end - start).TotalMilliseconds);
        }
Beispiel #16
0
        /// <summary />
        public static void SelectDescendentsSpeed(object it)
        {
            int iterations = (int)it;

            long            start;
            long            end;
            XPathNavigator  context = new XPathDocument(@"..\data.xml").CreateNavigator();
            XPathExpression expr    = context.Compile("descendant-or-self::publishers");

            context.MoveToFirstChild();

            start = DateTime.Now.Ticks;
            for (int i = 0; i < iterations; i++)
            {
                context.Select(expr);
            }
            end = DateTime.Now.Ticks;
            //Console.WriteLine("Elapsed time for compiled expression select: {0}", TimeSpan.FromTicks(end - start).TotalMilliseconds);

            string ns = Schema.Namespace;

            start = DateTime.Now.Ticks;
            for (int i = 0; i < iterations; i++)
            {
                context.SelectDescendants("publisher", ns, true);
            }
            end = DateTime.Now.Ticks;
            //Console.WriteLine("Elapsed time for descendents select: {0}", TimeSpan.FromTicks(end - start).TotalMilliseconds);
        }
Beispiel #17
0
        public async Task <Message[]> TransformAsync(params Message[] inputMessages)
        {
            var inputXpathDoc = await InputMessageHelper.CreateXPathDocumentAsync(inputMessages);

            var outputMessages = new List <Message>();

            // Execute the transform:
            using (var outputStream = new MemoryStream())
            {
                _xslTransform.Transform(inputXpathDoc, null, outputStream);

                // Rewind the stream
                outputStream.Position = 0;

                using (var outputReader = XmlReader.Create(outputStream))
                {
                    // Load the message:
                    var outputMessageNavigator = new XPathDocument(outputReader).CreateNavigator();

                    outputMessageNavigator.MoveToFirstChild();

                    // If this is a multi-part output message, create a new message for each part:
                    if (string.Equals(outputMessageNavigator.LocalName, Constants.MultipartRootElement) &&
                        string.Equals(outputMessageNavigator.NamespaceURI, Constants.MultipartNamespace))
                    {
                        var messageParts = outputMessageNavigator.Select(string.Format("/*[local-name()='{0}' and namespace-uri()='{2}']/*[starts-with(local-name(), '{1}') and namespace-uri()='{2}']",
                                                                                       Constants.MultipartRootElement,
                                                                                       Constants.MultipartPartElement,
                                                                                       Constants.MultipartNamespace));

                        foreach (XPathNavigator part in messageParts)
                        {
                            var msg = new Message {
                                ContentStream = new MemoryStream(Encoding.UTF8.GetBytes(part.InnerXml))
                            };
                            outputMessages.Add(msg);
                        }
                    }
                    else
                    {
                        // Rewind the stream
                        outputStream.Position = 0;

                        // Copy the result to an output message:
                        var msg = new Message {
                            ContentStream = new MemoryStream()
                        };
                        await outputStream.CopyToAsync(msg.ContentStream);

                        // Rewind the stream
                        msg.ContentStream.Position = 0;

                        outputMessages.Add(msg);
                    }
                }
            }

            return(outputMessages.ToArray());
        }
Beispiel #18
0
        private static XPathNodeIterator GetCsprojNodeIterator(string select)
        {
            XPathNavigator      navigator        = new XPathDocument(arguments.ProjectFilePath).CreateNavigator();
            XmlNamespaceManager namespaceManager = new XmlNamespaceManager(navigator.NameTable);

            namespaceManager.AddNamespace("pr", "http://schemas.microsoft.com/developer/msbuild/2003");
            return(navigator.Select(select, namespaceManager));
        }
Beispiel #19
0
        public override void RefreshData()
        {
            var settingName = "" + MainFormCurrentNode().Tag;


            //_configFilePath = Toolkit.ResolveFilePath(Toolkit.GetIISPhysicalPath("gringlobal") + @"\web.config", false);
            _configFilePath = Toolkit.ResolveFilePath(AdminProxy.Connection.WebAppPhysicalPath + @"\web.config", false);

            if (File.Exists(_configFilePath))
            {
                bool found = false;
                var  nav   = new XPathDocument(_configFilePath).CreateNavigator();
                var  it    = nav.Select("/configuration/appSettings/add");
                while (it.MoveNext())
                {
                    if (it.Current.GetAttribute("key", "") == settingName)
                    {
                        _settingName         = settingName;
                        _settingValue        = it.Current.GetAttribute("value", "");
                        ConnectionStringMode = false;
                        found = true;
                        break;
                    }
                }

                if (!found)
                {
                    var it2 = nav.Select("/configuration/connectionStrings/add");
                    while (it2.MoveNext())
                    {
                        if (it2.Current.GetAttribute("name", "") == settingName)
                        {
                            _settingName         = settingName;
                            _settingValue        = it2.Current.GetAttribute("connectionString", "");
                            _settingProvider     = it2.Current.GetAttribute("providerName", "");
                            ConnectionStringMode = true;
                            break;
                        }
                    }
                }
            }

            MarkClean();
            MainFormUpdateStatus(getDisplayMember("RefreshData{loaded}", "Loaded Application Setting '{0}' ", settingName), false);
        }
Beispiel #20
0
        public XmlReader GetRegistryItemsForCriteria(int registryId, int startRow, int pageSize, params string[] searchCriteria)
        {
            StringBuilder sbXpath = new StringBuilder();

            IDataReader idr = DatabaseFactory.CreateDatabase().ExecuteReader("Rejestry.pobierzDaneRejestru", registryId);

            if (!idr.Read())
            {
                return(null);
            }
            string definicja = idr["definicja"].ToString();

            idr.Close();

            XPathNavigator    xpnDef = new XPathDocument(new StringReader(definicja)).CreateNavigator();
            XPathNodeIterator xpiDef = xpnDef.Select("/definicjaRejestru/wyszukiwanie/kryterium");

            sbXpath.Append("/pozycje/pozycja");

            while (xpiDef.MoveNext())
            {
                if (searchCriteria[xpiDef.CurrentPosition - 1].Length > 0)
                {
                    if (sbXpath.Length > 16)
                    {
                        sbXpath.Append(" and ");
                    }
                    else
                    {
                        sbXpath.Append("[");
                    }

                    sbXpath.AppendFormat(xpiDef.Current.SelectSingleNode("@xpath").Value, String.Format("\"{0}\"", searchCriteria[xpiDef.CurrentPosition - 1]));
                }
            }

            if (sbXpath.Length > 16)
            {
                sbXpath.Append("]");
            }
            string            xpathExpression = sbXpath.ToString();
            int               totalRows;
            XPathNavigator    xpn   = new XPathDocument(GetRegistryItems(new Guid(Membership.GetUser().ProviderUserKey.ToString()), registryId, startRow, pageSize, out totalRows)).CreateNavigator();
            XPathNodeIterator xpi   = xpn.Select(xpathExpression);
            StringBuilder     sbOut = new StringBuilder();

            sbOut.Append("<pozycje>");
            sbOut.Append(xpnDef.SelectSingleNode("/definicjaRejestru/pola").OuterXml);//dodane aby byla spojna struktura xml-a
            while (xpi.MoveNext())
            {
                sbOut.Append(xpi.Current.OuterXml);
            }
            sbOut.Append("</pozycje>");
            return(XmlReader.Create(new StringReader(sbOut.ToString()))); // zamykany
        }
Beispiel #21
0
        public IDictionary <string, string> ProjectList()
        {
            XPathNavigator              projects = new XPathDocument(_extractPath + "/desktop.xml").CreateNavigator();
            XPathNodeIterator           nodes    = projects.Select("/desktops/desktop/@name");
            Dictionary <string, string> result   = new Dictionary <string, string>();

            while (nodes.MoveNext())
            {
                result.Add(nodes.CurrentPosition.ToString(), nodes.Current.ToString());
            }
            return(result);
        }
Beispiel #22
0
        public void ReplaceNamespace()
        {
            using (var reader = XmlReader.Create(new StringReader(@"<ns:test xmlns:ns='stuff' att='22'>value</ns:test>")))
            {
                var navigator = new XPathDocument(
                    new XmlTranslatorStream(
                        reader,
                        Encoding.Default,
                        new[] { new XmlNamespaceTranslation("stuff", "urn:test") },
                        XmlTranslationRequirements.Default)).CreateNavigator();

                navigator.Select("/s0:test", "s0=urn:test").Should().HaveCount(1);
            }
        }
Beispiel #23
0
        /// <summary>
        /// Creates an <see cref="AtomAuthor" /> instance from XML.
        /// </summary>
        /// <param name="xmlReader">
        /// The <see cref="XmlReader" /> containing the XML representation of
        /// the Atom Author.
        /// </param>
        /// <returns>
        /// A new instance of <see cref="AtomAuthor" /> containing the data
        /// from the XML representation of the Atom Author contained in
        /// <paramref name="xmlReader" />.
        /// </returns>
        public static AtomAuthor ReadFrom(XmlReader xmlReader)
        {
            var navigator = new XPathDocument(xmlReader).CreateNavigator();

            var resolver = new XmlNamespaceManager(new NameTable());

            resolver.AddNamespace("atom", "http://www.w3.org/2005/Atom");

            var name = navigator
                       .Select("/atom:author/atom:name", resolver).Cast <XPathNavigator>()
                       .Single().Value;

            return(new AtomAuthor(name));
        }
Beispiel #24
0
        public void ReplaceGlobalNamespaceWhenOtherNamespaceDeclarationsArePresent()
        {
            using (var reader = XmlReader.Create(new StringReader(@"<test><other xsi:nil='true' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' /></test>")))
            {
                var navigator = new XPathDocument(
                    new XmlTranslatorStream(
                        reader,
                        Encoding.Default,
                        new[] { new XmlNamespaceTranslation(string.Empty, "urn:test") },
                        XmlTranslationRequirements.Default)).CreateNavigator();

                navigator.Select("/s0:test/s0:other/@xsi:nil", "s0=urn:test", "xsi=http://www.w3.org/2001/XMLSchema-instance").Should().HaveCount(1);
            }
        }
Beispiel #25
0
        public void ProcessAttributes()
        {
            using (var reader = XmlReader.Create(new StringReader(@"<test xmlns:ns='stuff' ns:att='22'>value</test>")))
            {
                var navigator = new XPathDocument(
                    new XmlTranslatorStream(
                        reader,
                        Encoding.Default,
                        new[] { new XmlNamespaceTranslation("stuff", "urn:test") },
                        XmlTranslationModes.TranslateAttributeNamespace)).CreateNavigator();

                Assert.That(navigator.Select("/test/@ns:att", "ns=urn:test").Count, Is.EqualTo(1));
            }
        }
        private D900CdrDefinitionProvider(string xmlURI)
        {
            _schemaList    = new List <D900CdrDefinitionSchema>();
            _defaultSchema = -1;
            _xmlVersion    = String.Empty;

            bool def;

#if FW35
            XElement cdrXML = XDocument
                              .Load(xmlURI, LoadOptions.None)
                              .Element("D900Cdr");

            __xmlVersion = cdrXML.Attribute("Version").Value;

            foreach (XElement schXML in cdrXML.Elements("Schema"))
            {
                D900CdrDefinitionSchema sch = new D900CdrDefinitionSchema(schXML.Attribute("Name").Value);
                ReadDefinitions(sch.Definitions, schXML, String.Empty);
                _schemaList.Add(sch);
                Boolean.TryParse(schXML.Attribute("Default").Value, out def);
                if (def)
                {
                    _defaultSchema = _schemaList.Count - 1;
                }
            }
#else
            XPathNavigator cdrXML = new XPathDocument(xmlURI)
                                    .CreateNavigator()
                                    .SelectSingleNode("D900Cdr");

            _xmlVersion = cdrXML.GetAttribute("Version", String.Empty);

            foreach (XPathNavigator schXML in cdrXML.Select("Schema"))
            {
                D900CdrDefinitionSchema sch = new D900CdrDefinitionSchema(schXML.GetAttribute("Name", String.Empty));
                ReadDefinitions(sch.Definitions, schXML, String.Empty);
                _schemaList.Add(sch);
                if (Boolean.TryParse(schXML.GetAttribute("Default", String.Empty), out def) && def)
                {
                    _defaultSchema = _schemaList.Count - 1;
                }
            }
#endif
            if ((_defaultSchema < 0) && (_schemaList.Count > 0))
            {
                _defaultSchema = 0;
            }
            _currentSchema = _defaultSchema;
        }
Beispiel #27
0
        public void ProcessAttributes()
        {
            using (var reader = XmlReader.Create(new StringReader(@"<test xmlns:ns='stuff' ns:att='22'>value</test>")))
            {
                var navigator = new XPathDocument(
                    new XmlTranslatorStream(
                        reader,
                        Encoding.Default,
                        new[] { new XmlNamespaceTranslation("stuff", "urn:test") },
                        XmlTranslationRequirements.TranslateAttributeNamespace)).CreateNavigator();

                navigator.Select("/test/@ns:att", "ns=urn:test").Should().HaveCount(1);
            }
        }
Beispiel #28
0
        public static XDocument MultipleNodes(XmlReader reader, string RootName = "Root")
        {
            var doc = new XDocument(new XElement(RootName));

            var xn = new XPathDocument(reader).CreateNavigator();
            XPathNodeIterator iterator = xn.Select("/*");

            foreach (XPathNavigator item in iterator)
            {
                doc.Root.Add(XElement.Load(item.ReadSubtree()));
            }

            return(doc);
        }
Beispiel #29
0
        public void ReplaceNamespace()
        {
            using (var reader = XmlReader.Create(new StringReader(@"<ns:test xmlns:ns='stuff' att='22'>value</ns:test>")))
            {
                var navigator = new XPathDocument(
                    new XmlTranslatorStream(
                        reader,
                        Encoding.Default,
                        new[] { new XmlNamespaceTranslation("stuff", "urn:test") },
                        XmlTranslationModes.Default)).CreateNavigator();

                Assert.That(navigator.Select("/s0:test", "s0=urn:test").Count, Is.EqualTo(1));
            }
        }
Beispiel #30
0
 public override void ProcessFile(string file)
 {
     foreach (Exception ex in initializationErrors)
     {
         AddError(ex.Message);
     }
     using (XmlTextReader reader = new XmlTextReader(file))
     {
         var navigator = new XPathDocument(reader).CreateNavigator();
         foreach (XPathNavigator dvd in navigator.Select("/Collection/DVD|/DVD")) // Allow both collection file and single profile export
         {
             HandleDvd(dvd);
         }
     }
 }
Beispiel #31
0
    private static string FindNativeLibraryForDllMap(string asmConfig, string pinvokeModule)
    {
        var navigator = new XPathDocument (asmConfig).CreateNavigator ();
        var expression = navigator.Compile ("/configuration/dllmap");
        var iter = navigator.Select (expression);

        while (iter.MoveNext ()) {
            if (iter.Current.GetAttribute ("dll", navigator.NamespaceURI) != pinvokeModule) {
                continue;
            }

            // FIXME: make this configurable on the confinement
            var os = iter.Current.GetAttribute ("os", navigator.NamespaceURI);
            if (String.IsNullOrEmpty (os) || os == "osx" || os == "!windows") {
                return iter.Current.GetAttribute ("target", navigator.NamespaceURI);
            }
        }

        return pinvokeModule;
    }