草庐IT

Linq-to-Objects

全部标签

c# - 当子节点存在时,LINQ Xelement 返回 null

我有一个这样的XML文件,我想读取ID、短名称、名称节点值。17406testtest18006ANOTHERtestAnothertest18046RKUhospital18047MNUMNU递归读取Node元素的最佳方法是什么?这就是我尝试读取节点值的方式:varaccountingunit=(fromeinXDocument.Parse(textresult).Root.Elements("AccountingUnit")selectnewnode{idvalue=(string)e.Element("ID"),shortname=(string)e.Element("Short

sql-server - "FOR XML EXPLICIT"Msg 6833 "requires parent tags to be opened first"Error 故障排除建议

我继承了一个1000行的存储过程,它使用FORXMLEXPLICIT生成XML。我的问题是它大部分时间都有效。在某些情况下,我收到错误:ParenttagID2isnotamongtheopentags.FORXMLEXPLICITrequiresparenttagstobeopenedfirst.Checktheorderingoftheresultset.Number:6833Severity:16State:1我需要有关如何解决此问题的想法。我需要找出嵌套失败的地方。这可能是父行未发出但子行发出的情况。更糟糕的是,这个问题只发生在我们的测试系统上,它可能丢失了一些生产数据。问题是

c# - 选择节点 Linq to Xml C#

XML文件格式:element1daily0.2element2daily0.2我想选择所有“loc”节点(element1、element2),但这不起作用!!!foreach(XElementitemindocument.Elements("url").Descendants("loc"))//Changeintowhat?{urlList.Add(item.Value);} 最佳答案 我怀疑问题是您要从document.Elements("url")而不是document.Root.Elements("url")...所以它正

xml - 修改xsd :dateTime simple type to use different date-and-time separator

我有一个遗留系统,它生成的XML带有类似于ISO8601的时间戳,但使用空格来分隔日期和时间。例如。2009-12-3100:00:00。我想定义一个模式来定义这些时间戳的可能范围。xsd:dateTime非常适合该目的,但是,它使用T作为日期和时间之间的分隔符。我无法修改遗留系统以使用T作为分隔符返回时间戳。有没有一种方法可以让simpleType定义派生自xsd:dateTime,但会更改分隔符,或者我是否必须依赖具有适当模式的字符串和人类可读的评论?更新:据我所知,我可以使用dateTime的模式来限制输入的dateTime对象的范围,但这不会改变分隔符。例子:这将只允许日期时间

c# - Visual Studio 2010 是否有使用 LINQ/XPATH 查询 XML 文件的插件?

有一个XML文件。我需要对其进行一些统计(例如,有多少节点没有特定属性等)。我没有看到任何能让我立即做到这一点的东西。有什么建议么?我目前正在为Chrome使用XMLTree插件,但它不仅在VS之外,而且有时对我也不起作用。 最佳答案 找到这个东西:http://visualstudiogallery.msdn.microsoft.com/c5d4671c-2e29-4452-b039-6f931b7b1155/.似乎在做我需要的并很好地集成到VSIDE中。 关于c#-VisualStu

c# - 如何使用 linq to XML 添加/插入条件节点到 XML

我生成了一个这样的xml文件:XElementemployees=newXElement("Work",newXElement("record",newXElement("Name",textBox1.Text),newXElement("Phone","206-555-0144"),newXElement("Address",newXElement("Street1","123MainSt"),newXElement("City","MercerIsland"),newXElement("State","WA"),newXElement("Postal","68042"))),new

C# ??空合并运算符 LINQ

我试图在使用LINQ将XML文件解析为自定义对象时避免出现NULL值。我在ScottGu'sblog上找到了一个很好的解决方案,但出于某种原因,它不适用于我的整数。我想我使用了相同的语法,但似乎遗漏了一些东西。哦,出于某种原因,它在节点不为空时起作用。下面是我的代码的摘录。ListlsResult=(fromginxml.Element("root").Elements("Elementname")selectnewGrantAgresso(){Year=(int?)g.Element("yearnode")??0,Subdomain=(string)g.Element("domain

xml - 使用 Perl XML::DOM 模块的解析器错误, "reference to invalid character number"

我是一个完全的Perl新手,但我确信学习Perl比弄清楚如何在awk中解析XML更容易。我想从这个数据集中解析.sgm文件:http://kdd.ics.uci.edu/databases/reuters21578/reuters21578.html这是十年前来自新闻专线的20,000篇路透社文章的集合,是特定类型文本处理的标准测试集。为了简化我的perl测试,我从第一个文件中抓取了前几百行并制作了test.sgm直到我的脚本在上面正确运行。它开始是这样的:26-FEB-198715:01:01.79cocoael-salvadorusauruguayCT

c# - LINQ Select Distinct 忽略 XML 字段

我有一个复杂的LINQ查询(使用LINQ2EF)可以返回重复的结果,因此我使用.Distinct()方法来避免重复。这是骨架:varsubQuery1=//onequery...varsubQuery2=//anotherquery...varresult=subQuery1.Distinct().Union(subQuery2.Distinct()).ToArray();每个子查询将一个公共(public)用户表与另一个表连接起来并执行“where”查询,结果随后在.Union(...)中合并。在表被修改为包含一个XML列之前,这一直工作得很好,这导致了这个异常:thexmldata

c# - 如何从 linq 查询结果中忽略/删除非数字值 C#

我有一个linq查询,它迭代数百个XML元素以计算工具集合中使用的特定工具的数量。但是,toolsxelement集合中的qty元素本应包含一个数字,但偶尔会包含诸如“按要求”之类的文本,而不是特定的数字。这显然会导致问题。是否可以在这个linq查询中加入一个简单的附加步骤(我不擅长linq)来忽略非数字值或过滤掉它们?Linq查询是:Dictionarydict=listTools.Descendants("tool").GroupBy(x=>(int)x.Element("id"),y=>(int)y.Element("qty")).ToDictionary(x=>x.Key,y=