jjzjj

c# - Linq to Xml,保持 XDocument 加载?

假设我正在制作一个WinForms程序,它将在后台使用XML文档作为持久性机制...以下两种方法的优缺点是什么...在每个方法调用中加载XDocument:publicclassXmlFoosRepository{stringxmlFileName;publicXmlFoosRepository(stringxmlFileName){this.xmlFileName=xmlFileName;}publicintAddFoo(Foofoo){varxDoc=XDocument.Load(xmlFileName);//AlwayscallLoad()//...xDoc.Save(xmlFi

c# - 使用 Linq 识别编码声明

有没有办法使用LinqtoXML来隔离和检索编码声明的属性?似乎您可以使用整个文档或只是一个起始元素来初始化XDoc或XElement,但是您将如何隔离此标记...它没有名称...或者至少我不知道它是否有名称. 最佳答案 您可以使用XDocument.DeclarationProperty:XDocumentdocument=XDocument.Load(xmlFilePath);stringencoding=document.Declaration.Encoding;作为奖励,您还可以获得版本号:stringversion=doc

c# - 使用 Linq 对 XML 进行复杂排序

我已尝试为我的问题找到解决方案,但我在这方面(Linq、XML)的知识相当有限。:(找到一个simularconstruction,但我需要稍微复杂一点的排序方式。考虑以下XML文档:135163135有什么方法可以使用C#/Linq对中的元素进行排序,还是我必须分解所有元素并一个一个地对它们进行排序?更新我有一个文件,这就是我要完成的。;)315631153 最佳答案 这实际上取决于您到底想做什么(按顺序处理它们,或重新排序XML?)以及您所说的“排序”到底是什么(按标签名称排序?按值排序?)。如果您只想按顺序处理它们,这就是您可

c# - XML 排序异常

我正在尝试通过元素的属性对LINQ中的XML文件中的元素进行排序:publicvoidSortXml(){XDocumentdoc=XDocument.Load(filename);XDocumentdatatemp=newXDocument(doc);doc.Descendants("Thing").Remove();varmodule=datatemp.Descendants("Thing").OrderBy(x=>(int)int.Parse(x.Attribute("ID").Value));doc.Element("Thing").Add(module);doc.Save(f

C# XML,查找节点及其所有父节点

我的XML结构如下:来自C#LinqtoXML,getparentswhenachildsatisfycondition我有这样的东西:XElementdoc=XElement.Load("path");varresult=doc.Elements("siteNode").Where(parent=>parent.Elements("siteNode").Any(child=>child.Attribute("action").Value==ActionName&&child.Attribute("controller").Value==ControlerName));返回我的节点及其

c# - XElement 查询给出错误 : "Sequence contains no elements"

我正在尝试查询此xml:这是我的功能:protectedstringGetParent(GuidnodeId){XDocumentdoc=XDocument.Parse(GetXml());//parsesxmldisplayedabove//returnsthe5pagemapnodesdisplayedaboveIEnumerablenodes=doc.Descendants("pageMapNode");//error:"Sequencecontainsnoelements"XElementnode=doc.Descendants("pageMapNode").Where(n=>

c# - 使用具有多个后代的 Linq 解析 XML

我在解析多个XML字段时遇到问题这是XML的样式:1MikeHistoryMathsEnglish...我可以将它解析为像student_id和student_name这样的简单字段,但是当同一个字段多次重复时,我不知道该怎么做:/这是我解析的源代码。我做了两个类:包含学校科目名称的科目包含id和姓名以及Subject类列表的学生。现在是源代码:ListL1=newList();XDocumentdoc=XDocument.Load(s);varq=frombindoc.Descendants("student")selectnew{s_id=(string)b.Element("st

c# - 使用 LINQ 的不同字典

我正在尝试使用LINQ获取不同值的字典。我试过使用这个:varroleRefList=xDocument.Root.Descendants().Where(x=>x.Name.LocalName.Equals("roleRef")&&!string.IsNullOrEmpty(Convert.ToString(x.Attributes().FirstOrDefault(a=>a.Name.LocalName.Equals("roleURI"))))&&!string.IsNullOrEmpty(Convert.ToString(x.Attributes().FirstOrDefault

c# - 如何根据子节点对 XDocument 父节点进行排序?

在C#中,我试图对XDocument进行排序使用OrderByDescending.目标是读取其中一个包含日期/时间戳的子节点并对父节点重新排序。我像这样从保存的文件中加载XML:XDocumentDoc=newXDocument();Doc=XDocument.Load(filename);这是我的XML示例:Knightsblue5/9/20132:34:22PMRangersred5/9/20133:49:06PMEaglesgreen5/9/20133:50:18PM我想重新订购基于子元素降序.我尝试了以下但没有任何运气:varresults=Doc.Root.Descenda

c# - 使用 LINQ 读取 XML 节点

我在使用LINQ读取XML文件时遇到问题。这是我的XML文件JackBlackJohnBlueDanRedPatrickGreen我使用的代码如下XElementdoc=XElement.Load("xmldoc.xml");varquery=fromxindoc.Elements("Employee")wherex.Element("Name").Attribute("Type").Value=="First"selectx;foreach(XElementiteminquery){Console.WriteLine(item.Element("Name").Value);}此代码返