草庐IT

c# - Linq to Xml : Is XDocument a caching reader?

我喜欢LinqtoXmlAPI。我用过的最简单的一个。我还记得它是在XmlReader上实现的,这是一个非缓存阅读器,意思是:varrdr=XmlReader.Create("path/to/huge_3Gb.xml");...将立即返回(可能最多读取xmlheader)。documentation对于XDocument.Load()声明确实,它正在使用XmlReader.Create().我预计,就像所有Linq一样,我会使用Linq2Xml获得延迟执行行为。但后来我尝试了这个,就像我通常对涉及文件的任何事情所做的那样:using(varxdoc=XDocument.Load("fi

c# - 缩进 XML,但保持其他一切不变

这是我的第一个问题,请耐心等待。基本上,我的问题是:我正在为一种内部语言构建一个XMLIDE。它的一个功能应该是使用一些命令自动缩进XML。类似于在VisualStudio等中发现的内容。基本上我需要的是把下面的Xml:ToveJaniReminderDon'tforgetmethisweekend!进入:ToveJaniReminderDon'tforgetmethisweekend!那是缩进-但别碰别的。这在C#中是否可能,而无需从头开始编写算法,即使用LINQXDocument或某些XmlWriter实现?到目前为止我已经尝试了以下方法(来自Whatisthesimplestwa

xml - XLINQ : Remove certain XElements from a xml file which are saved in a LIst<XElement>

我无法在迭代节点时删除节点,没关系。´我有一个包含Guid的列表。我想删除该xml文件中的所有XElement,其中XElement具有该列表的Guid那是我的xml文件:那行不通:xDoc.Descendants("Department").Remove().Where...我怎样才能让它发挥作用? 最佳答案 我只是在快速猜测,但试试这个:xDoc.Descendants("Department").Where(/*matchcode*/).Remove(); 关于xml-XLINQ:

c# - 以xml格式从嵌入式设备输出数据是否智能?

我们公司生产许多嵌入式设备,这些设备通过我用C#.net编写的应用程序与PC通信。我一直在考虑改进数据传输的不同方法,以便PC应用程序可以更轻松地与设备当前状态(在某些情况下不断变化)同步。我一直在考虑一种方法,其中设备将其描述和状态消息格式化为xml格式的消息,然后再通过串行端口、USB、以太网套接字等发送它们。我认为它可能使过程更简单地将所有这些数据放入我的C#类中。另一种方法是主机应用程序发送GETSTATUS之类的命令,设备以字节数组响应,每个字节数组代表不同的属性、传感器读数等。我对xml没有太多经验,但从我所看到的可以使用LINQtoXML完成的情况来看,这似乎是个好主意。

.net - 如何在 Xml 序列化、DataContractSerializer 和 LINQ to XML 之间进行选择以序列化简单对象树?

我需要将一棵简单对象树作为XML序列化到文件中或从文件中序列化——自从我上次不得不这样做以来,世界已经发生了变化……(我不关心XML的模式,只要支持人员可以在需要时理解该文件)那么,在.net中的不同“easyxml”API之间进行选择时,需要考虑哪些权衡? 最佳答案 这就是我思考这些选项的方式:LINQtoXML–完全控制XML和对象的设计,3个选项中代码最多的选项。DataContractSerializer–对XML的控制很少或没有,可以处理大多数对象XmlSerializer–完全控制XML,但您必须以Xml序列化喜欢的方式

c# - linq to xml - 摆脱空白的 xmlns

我正试图摆脱我的xml文件中的空namespace标记。我见过的所有解决方案都是基于从头开始创建xml。我有从以前的xml构造的各种xelements。我所做的只是XElementInputNodes=XElement.Parse(InputXML);m_Command=InputNodes.Element("Command");它到处都添加了xmlns=""。这真是令人气愤。感谢您的帮助。 最佳答案 有一个post在MSDN博客上展示了如何(合理地)轻松解决这个问题。在输出XML之前,您需要执行以下代码:foreach(XElem

c# - 使用 Linq 解析分段的 XML 字符串

假设我有一个片段化的XML,如下所示。我可以使用带有Fragment选项的XmlReader来解析这个不完整XML字符串。XmlReaderSettingssettings=newXmlReaderSettings();settings.ConformanceLevel=ConformanceLevel.Fragment;XmlReaderreader;using(StringReaderstringReader=newStringReader(inputXml)){reader=XmlReader.Create(stringReader,settings);}XPathDocumen

xml - LINQ to XML 至少一个对象必须实现 IComparable

我想从我的XML文件中获取最高属性“ID”。我的代码:vardoc=XElement.Load("invoices.xml");varq=(fromfindoc.Element("ListOfInvoices").Elements("Invoice")orderbyf.Attributes("ID")descendingselectf.Attribute("ID")).FirstOrDefault();当我的XML文件中有一个发票代码有效时,但是例如2发票时我有一个错误:至少一个对象必须实现IComparable。 最佳答案 尝试将

c# - 3个带linq的嵌套组

我正在尝试获取4个列表深度列表集合,List>>>.从我的Xml看起来像输出的结构应该是这样的-all-1-34343-carA-1-2-34343-carA-2-10505-carB-3-4-10505-carB-4-5目标是根据节点属性首先按页数对我的XML进行排序,然后按zip,然后按承运人。然后我需要循环浏览结果列表并按特定顺序处理每个claim。我无法为3个嵌套组获取正确的语法。我已经完成了获得2个嵌套组,任何人都可以帮助我获得第三个。到目前为止,这是我的代码。varquery=fromclaiminroot.Elements("Claim")groupclaimbyclai

c# - 首先使用 Entity Framework 数据库从 SQL 查询 Xml

我需要使用EntityFramework、LINQ从我的asp.netmvc(C#)应用程序中的SQL查询XML数据。我有一个包含数据的XMLValue列11我需要从xml中获取所有Rating为1的Customers。我提到了thisstackoverflowpost我无法实现它。我已经添加了SQL函数并将其添加到我的edmx中:CREATEFUNCTION[dbo].[FilterCustomersByRating](@Ratingint)RETURNSTABLEASRETURNSELECTXMLTest.*FROMXMLTestCROSSAPPLYXMLValue.nodes('