我想读取一个xml文件并加载为列表,并在表单加载期间查找值。我如何读取文件并将其作为列表获取???Xml文件:t1-p2t1-k1t2-s2类文件:classTesttypes{publicstringType;publicstaticListgetTypes(){XDocumentdoc=XDocument.Parse("test.xml");varq=doc.Descendants("Type").ToList();returngetTypes.();}} 最佳答案 首先,我不会有一个公共(public)领域。至少使用一个属性。
我的xml文件看起来像这样:...我想使用LINQ查询创建一个列表。varqueryKnowledge=(fromitemin_Document.Descendants("Knowledge").Elements("Group")selectnew{Group=(string)item.Attribute("name"),Name=(string)item.Element("Item").Attribute("name"),Level=(string)item.Element("Item").Attribute("level")}).AsQueryable();但我得到了两个项目的列表
我无法在XmlNodeList上使用Any()。我还使用了System.Linq和System.Xml.Linq命名空间。但我仍然没有在XmlNodeList上找到任何此类扩展方法。我该如何使用它?? 最佳答案 问题是XmlNodeList只实现IEnumerable,不是IEnumerable.在其上使用LINQ的最简单方法是调用Cast:varquery=nodeList.Cast().Where(...)...;或者,放弃旧的XMLAPI并使用LINQtoXML,这通常是一个更好的API并且非常好地支持LINQ:)
我在尝试获取c:CreationDate节点时使用以下代码:value='2010-09-04T05:04:53Z';xml=(newDOMParser()).parseFromString(value,'text/xml');console.log(xml.getElementsByTagName('c:CreationDate'));不幸的是,它返回一个空数组,而不是包含xml中节点的数组。我认为这是由于“:”符号引起的。有办法逃避吗?注意:请不要建议在childNodes或类似的东西上使用。这对我不起作用,因为我的xml验证复杂(这里只是一个示例)并且将来很可能会发生变化,我只能
我有完全像这种格式的XML:Thisisverse1Thisisverse2Thisisverse3Thisisverse4Thisisverse1Thisisverse2Thisisverse1在使用Linq的C#中,我需要能够根据函数state.getChapterNumber()的值获取特定位置或索引的XML元素。例如,如果值为4,我需要从XML文档中获取第4章元素。XDocumentbook=XDocument.Load(string.Format("Translations/NWT/{0}.xml",state.BookName));varverses=fromchapter
我有一个类:publicclassLayout{publicintWidth{get;set;}publicintHeight{get;set;}}如何在以下LINQ查询中读取XML属性并将其分配给上面类中的int:varlayouts=fromeleminlayoutSummary.Descendants("Layout")selectnewLayout{//Width=elem.Attribute("Width").Value,//Invalidcaststringtoint)//Int32.TryParse((string)elem.Attribute("Height").Val
我有2个XML文件:文件1.xmldoe90foogoo...文件2.xmlnangootest...我将这些数据存储在2个变量中:let$data:=//data,$data2:=//data2然后开始这样做:for$din$data2returnif()(:$disalsoin$data?:)我该怎么办?谢谢编辑:当然我试过包含,但出现错误:if(contains($d,$data)=0)Anexceptionoccurredduringqueryexecution:XPTY0004:cannotconvert'xs:boolean(true)'toxs:integer
我有以下XMLfalsetruepassw0r!d83truepassw0r!d83true在c#中使用linq我试图使用以下代码获取所有用户名(上面示例中的Admin和JimBob)ListResult=newList();XDocumentxdoc=XDocument.Load("ErrorServerConfig.xml");//Runqueryvarlv1s=fromlv1inxdoc.Descendants("ErrorServer")selectnew{Children=lv1.Elements("Users")};//Loopthroughresultsforeach(v
我试图在xPath2.0中使用函数将xs:double转换为xs:integer(我不想使用XSLT)。number(//version//number/text())以上输出为-6.0(取number为6.0)。如何将其转换为6? 最佳答案 XPath2.0包含内置XML模式类型的构造函数,因此您可以:xs:integer(number(//version//number/text()))参见https://www.w3.org/TR/xpath-functions/#constructor-functions-for-xsd-t
我刚刚开始涉足桌面应用程序开发,并选择了C#来实现这一目标。在制作了一些基本程序后,我想为自己创作更多有用的作品。我正在考虑制作一个项目时间跟踪器,以及我自己的密码安全类型的程序。这两者都需要接收需要存储的信息。我遇到的方法是在存储方面使用SQL服务器,但从我收集到的信息来看,这要求我在所有计划使用这些程序的计算机上安装SQL服务器,不是吗?所以我一直倾向于XML,因为它似乎更移动和开放,但这是数据存储的可行选择吗?当我进入我的密码安全程序中的那一步时,它能被正确加密吗?我应该在基于桌面的应用程序中开始实现其中哪些,或者是否有我错过的更好的替代方案。 最佳答