草庐IT

dynamic-linq

全部标签

c# - 使用 linq 将数据添加到现有的 xml 文件

我是.net初学者。我需要向xml文件中添加一些数据xml文件是:---1stlevel/*idontwanttocreatethisbecausethisexists*/--2ndlevelToothpasteColgate1210ToothpastePepsodent2012我需要添加productname-->Toothpastebrandname-->CloseUpquantity-->16price-->15到他们各自的标签。我现在面临的问题是我需要深入两层来写入它们各自的标签,我不知道该怎么做。我试过下面的代码:(不工作)XDocumentdoc=newXDocument(

xml - 如何在 PowerShell 中编写 Xml.linq?

我正尝试在PowerShell中执行此操作:XDocumentdocument=XDocument.Load(@"web.config");varcomments=document.Descendants("client").DescendantNodes().OfType().ToArray();foreach(varcommentincomments){XElementunCommented=XElement.Parse(comment.Value);comment.ReplaceWith(unCommented);}我试过这样的:$xDoc=[System.Xml.Linq.XD

C# - 使用 Linq 选择 XML 后代

我有以下XML结构:11ת"א24אבטליון我想用Linq遍历name节点。我试过这个:varitems=(fromiindoc.Descendants("row")selectnew{Text=i.Value}).ToList();但它没有按照我需要的方式工作。有什么建议吗? 最佳答案 varitems=doc.Descendants("field").Where(node=>(string)node.Attribute("name")=="Name").Select(node=>node.Value.ToStrin

c# - 将 Linq 转换为 XSLT

有没有办法将LINQ查询转换为XSLT?LINQ可以转换为SQL的方式相同吗?我的意思是,如果我有一个定义明确的XML(符合XSD),是否有办法将System.Linq.Expressions下的内容编译成与该XML有关的XSLT?谢谢。对于Dimitries请求,我将尝试详细说明......基本上我在一个地方有一些数据(基本上是xml可序列化数据block),我需要处理它们,我需要组合和处理它们.传入的原始数据和输出结果数据都是XML可序列化的,并且符合定义良好的XSD。我想在其他地方动态生成处理逻辑。并允许我的用户更改和尝试处理。我可以用表达式树轻松地表示处理过程。表达式树类似于解

c# - 如何使用 C# 和 LINQ 深入提取 XML 中的信息?

这是我在StackOverflow上的第一篇文章,所以请多多包涵。如果我的代码示例有点长,我先表示歉意。使用C#和LINQ,我试图识别一系列第三级id元素(在本例中为000049)在一个更大的XML文件中。每三级id是独一无二的,我想要的是基于每个人的一系列后代信息。更具体地说,如果type==A和locationtype(old)==vault和locationtype(new)==out,然后我想选择id.下面是我正在使用的XML和C#代码。总的来说,我的代码有效。如下所示,它将返回id000049两次,这是正确的。但是,我发现了一个小故障。如果我删除第一个history包含typ

c# - XDocument 无法在 C# LINQ 中加载 1.1 版的 xml?

XDocument.Load在使用版本为1.1而不是1.0的XML文件时抛出异常:UnhandledException:System.Xml.XmlException:Versionnumber'1.1'isinvalid.Line1,position16.是否有任何干净的解决方案来解决错误(没有正则表达式)并加载文档? 最佳答案 最初的react,只是为了确认我可以重现这个:usingSystem;usingSystem.Xml.Linq;classTest{staticvoidMain(string[]args){stringx

.net - 性能:XmlReader 或 LINQ to XML

我有一个150MB的XML文件,它在我的项目中用作数据库。目前我正在使用XmlReader从中读取内容。我想知道在这种情况下使用XmlReader还是LINQtoXML更好。请注意,我正在此XML中搜索项目并显示搜索结果,因此这可能需要很长时间或只是片刻。 最佳答案 如果您想要性能,请使用XMLReader。它不会读取整个文件并在内存中构建DOM树。相反,它从磁盘读取文件并返回它在途中找到的每个节点。通过快速谷歌搜索,我找到了XmlReader、LINQtoXML和XmlDocument.Load的性能比较。https://web.

C# 在使用 LINQ to XML 时检查元素是否存在

好吧,有点随意的问题,但最好的方法是只添加代码,你马上就能明白我的意思:XML:1Blah-face12Blah-face-223Blah-face-311C#:XDocumentlinquee=XDocument.Load(path);varsuperType=(fromcinlinquee.Descendants("customer")where(c.Element("SuperType").Value=="1")selectc).ToList();这会产生一个空错误——我是否需要在每个客户之前为每个客户添加一个空值的“SuperType”元素,或者是否有一种解决方法意味着我不必这

C# LINQ TO XML - 从 DTD header 中删除 "[]"个字符

我最近在VS2010中创建了一个小型C#windows窗体/LINQtoXML应用程序,它完全按照它应该做的,除了一件事:它在DOCTYPE标记的末尾添加了“[]”,这显然是导致遗留系统拒绝的文件。这是之前和之后:之前之后这些字符是在使用.Save函数将文件保存在程序中后添加的。该程序允许选择一个.xml文件,然后通过删除某些标签来“清理”它,然后保存它。进程开始时,文件的DOCTYPE中没有“[]”。保存后,他们会这样做。LINQtoXML添加这些吗?有什么方法可以防止程序添加这些字符吗? 最佳答案 显然,当XDocument解析

c# - 使用 Linq 和 XDocument,我可以获取父标签下的所有子元素吗?

我有一个XML使用Linq和XDocument,我可以提取“摘要”信息,但如何提取“摘要”标签下的“帐户”信息?XDocumentXMLDoc=XDocument.Load("testdata.xml");XElementaccounts=(fromxml2inXMLDoc.Descendants("summary")selectxml2).FirstOrDefault();我如何指定类似“summary/account”的内容,以便它返回下的所有元素?请注意,我在下有,我只想要摘要标签下的元素。 最佳答案 您应该使用Element