Tag: linq to xml

Linq:在查询语法中使用StringComparer和GroupBy / Distinct

我有这个(XLinq)查询,并想知道如何将其转换为查询语法: var grouped = doc.Descendants() .GroupBy(t => t.Element(ns + “GroupingAttr”).Value, StringComparer.OrdinalIgnoreCase); 这是没有StringComparer的查询语法: var grouped = from t in doc.Descendants() group t by t.Element(ns + “GroupingAttr”).Value into group select group 我的groupby比这更复杂,所以我更喜欢使用组的键而不是引入新属性。 这是我尝试过的,但不起作用,因为let“键”在select的上下文中不可用(我使用了我更复杂的键定义来说明我不想在选择): var grouped = from t in doc.Descendants() let key = ((t.Name != ns + “SomeElementName”) ? t.Element(ns + “SomeAttribute”) : t.Element(ns + “SomeOtherAttribute”)).ElementValueOrDefault(“Empty group”) […]

基于具有“ID”和“父ID”的元素序列重构XML树

我想要发生的是我想要将ID等于ParentID的元素放入其中? 所以在我的例子中,ParentId = 1的组应该在Id = 1的组中,我怎么能这样做? 好困惑.. 截至目前,这是我的代码: XElement xroot = new XElement(“Root”); XElement xnavigations = null; XElement xmenus = null; foreach (DataRow navigations in GetNavigationSets().Rows) { xnavigations = new XElement(“Group”, new XElement(“GroupName”, navigations[“name”].ToString()) ); xnavigations.SetAttributeValue(“Id”, navigations[“id”].ToString()); xnavigations.SetAttributeValue(“ParentId”, navigations[“parent_id”].ToString()); foreach (DataRow menus in GetMenusInNavigationSetByNavigation(int.Parse(navigations[“id”].ToString())).Rows) { foreach (DataRow menu in GetMenuById(int.Parse(menus[“menu_id”].ToString())).Rows) { xmenus = new XElement(“Menu”, […]

在C#中为jQuery创建XML

我正在尝试为jQuery.get(AJAX)调用生成一些XML,并且我从C#页面收到以下错误: “使用主题css文件需要页面上的标题控件。(例如 )。“ 生成XML的文件是一个简单的.aspx文件,完全由以下部分组成: 使用Linq-to-XML进行代码隐藏,工作正常: XElement xml = new XElement(“People”, from p in People select new XElement(“Person”, new XAttribute(“Id”, p.Id), new XElement(“FirstName”, p.FirstName))); HttpContext.Current.Response.ContentType = “text/xml”; HttpContext.Current.Response.Write(xml.ToString()); 我知道该错误与Web.Config的标记有关,因为当我删除’styleSheetTheme’和’theme’属性时,XML生成正常。 那么问题显然是每个其他页面都失去了它的样式。 所有这些让我觉得我正在接近这个错误。 我的问题是:在C#中生成XML的可接受方式是什么,供jQuery AJAX调用使用,比如说?

将XML特定解析为数组

所以,如果我的XML看起来像这样…. a b 什么是将其解析为名为’people’的C#数组的最佳/最简单的方法,其中people [0]是第一个人对象,然后如何格式化以及如何访问它? 谢谢!

基于属性对XML进行排序和分组

我在C#中使用LINQ to XML,我需要对xml节点的属性进行一些排序。 我的xml看起来像这样。 我可以使用orderby子句对xml进行排序 var query= from claim in root.Elements(“Claim”) let Key = claim.Attributes(“Key”).First().Value let Carrier = claim.Attributes(“Carrier”).First().Value let CarrierZip = int.Parse(claim.Attributes(“CarrierZip”).First().Value) let Pages = claim.Attributes(“Pages”).First().Value orderby Pages ascending, CarrierZip ascending, Carrier ascending select claim; 然后我从查询中获取密钥列表。 我想要做的是获得所有索赔的集合1页,然后所有索赔2页等等,但我不知道最大页数是多少。 谁能帮我吗? 编辑 – 我改变了关于如何实现这一点的初步想法,我现在希望将其视为类似于此。 List<List<List<List>>> All claims – 1 page -zip1 -carr1 -int claim key -int claim2 […]

LINQ to XML – 尝试按属性值选择元素列表

我正在尝试从XML文档中获取元素列表,其中节点具有特定的属性值。 该文档的结构如下: some text some other text some more text even more text 我想要的结果是IEnumerable包含type =“type1”的两个节点,例如 some text some more text 我正在使用var doc = XDocument.Load(@”C:\document.xml”);加载文档var doc = XDocument.Load(@”C:\document.xml”); 我可以获得一个IEnumerable其中包含我想要使用的节点的属性 var foo = doc.Descendants(“node”) .Attributes(“type”) .Where(x => x.Value == “type1”) .ToList(); 但是,如果我尝试使用下面的代码获取包含这些属性的元素,则会得到一个Object reference not set to an instance of an object.的Object reference not set to an instance […]

如何在Windows Phone中使用XDocument解析OPML

我用XDocument`(C#,Windows Phone)解析OPML var _doc = XDocument.Parse(opmlFileString); 这大部分时间都可以正常工作,例如来自http://www.digitalpodcast.com/podcastnews/opml-links/或来自http://www.bbc.co.uk/podcasts.opml的内容没有问题。 尝试使用以下构造读取文件时出现问题 My podcast list 06 February 2015 看起来解析器与构造混淆了 xmlUrl=”http://areena.yle.fi/api/search.rss?id=1440981&media=audio&sisalto=ohjelmat” 它说在第二个“=”的位置应该是“;” 代替。 (媒体=音频) 有办法解决这个问题吗? 这些链接正在运行并由各自的站点提供。

将父项添加到xml linq

是否可以将父级添加到xml元素? 我希望: 所以将node3添加为此部分中节点2元素的父节点

在命名空间中获取属性的值

我正在尝试处理以下XML: Nombre SI SI 我正在使用下一个代码: XDocument doc = XDocument.Parse(result); var q = from item in doc.Descendants() let attributeType = item.Attribute(“AgenteRetencionIVA”).Value select item; 我有问题得到属性rif:AgenteRetencionIVA 。 我该怎么办?

如何使用LINQ to XML查询日期时间值?

我正在开发silverlight中的window phone 7应用程序。 我是银光的新手。 我也是LINQ to XML的新手。 在我的应用程序中,用户选择日期并将一些交易细节提交到应用程序中。 细节存储在XML文件中。 我在我的应用程序中使用自定义日期控件进行日期选择,如下所示 private void DatePicker_ValueChanged(object sender, DateTimeValueChangedEventArgs e) { AppObj = Application.Current as App; AppObj.date = (DateTime)EntryDate.Value; } 然后AppObj.date的值存储在XML文件中。 有时我使用DateTime.Now将日期存储在XML文件中。 现在,我想通过查询LINQ to XML来生成提交的事务详细信息的报告。 我想为今天的日期,当前周和当月生成报告。 对于今天的日期报告,我使用以下代码 public void GetTransactionObjects(String strXMLFile, DateTime VDateTime) { XDocument doc = null; XMLFileManager XMLDocObj = new XMLFileManager(); doc = XMLDocObj.LoadXMLFile(strXMLFile); var vTransaction = […]