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("Некоректний файл"); } } }
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); } } }
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)); } }
/// <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))); }
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); }
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); } } }
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); } } }
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); } }
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); } }
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); }
//======================================================================================== // 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(); }
/// <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); }
/// <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); }
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()); }
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)); }
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); }
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 }
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); }
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); } }
/// <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)); }
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); } }
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; }
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); } }
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); }
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)); } }
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); } } }
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; }