草庐IT

xml - 使用 Linq to XML 检查 XML 子元素是否存在

我正在努力解决我在LinqtoXML中遇到的问题,看起来应该很简单,但即使在此处浏览了LinqtoXML问题之后,我还是不太明白。按照以下XML行进行操作:我现在想检查ID为2的用户是否有电话号码。有人可以提出一个解决方案吗,就像我说的那样,应该很简单......干杯,奥拉 最佳答案 这是一种查询方法:XElementyourDoc=XElement.Load("yourfilename.xml");boolhasPhone=(fromuserinyourDoc.Descendants("user")where(int)user.A

c# - XmlSerializer 将 C# 对象转换为 xml 字符串

我创建了一个C#类:publicclassbooks{publicintbookNum{get;set;}publicclassbook{publicstringname{get;set;}publicclassrecord{publicstringborrowDate{get;set;}publicstringreturnDate{get;set;}}publicrecord[]records{get;set;}}publicbook[]books{get;set;}}但是当我使用XmlSerializer转换为XML字符串时。结果与下面的xml不一样。我的C#类有什么问题?我想使用

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# - XDocument.Save() 在每个 XElement 上添加不需要的命名空间

我有以下XML:当我使用XDocument.Load()加载它然后使用XDocument.Save()保存它时没有任何更改,我拥有的新XML文件如下:有没有一种优雅的方法可以在不更改任何内容的情况下加载和保存这种XML?谢谢! 最佳答案 正如Pascal所说,问题来自xmlns="w3.org/ns/ttml"和xmlns:tt="w3.org/ns/ttml".我认为XDocument.Save生成此xml是因为默认的xml命名空间与另一个命名空间重复。(命名空间可能更多地由valeu标识而不是key?)第一个选项是删除输入文件中

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

c# - 使用 LINQPad 查询包含嵌套元素的 XML 文件?

我正在使用LINQPad通过C#查询和可视化XML文件。例如:varxml=XElement.Load(@"C:\file.xml");xml.Elements().Where(e=>e.Element("trHeader").Element("trTickNum").Value=="1").Dump();但是,我想使用SQL而不是C#运行查询。有没有一种方法可以加载包含嵌套元素的XML并使用LINQPad的SQL选项查询其表? 最佳答案 这对我有用。varxml=XElement.Load(@"C:\AllTypesList.xm