草庐IT

Xdocument

全部标签

c# - XDocument 在生成最终 xml 字符串时添加回车符

我有一个案例,我想在将它发布到API之前生成xml,包含换行符(\n)但不包含回车符(没有\r).不过在C#中,XDocument似乎会自动在其to-string方法中添加回车符:varinputXmlString="Sometextwithoutcarriagereturn\nthisisthenewline";//inputXmlString:Sometextwithoutcarriagereturn\nthisisthenewlinevardoc=XDocument.Parse(inputXmlString);varxmlString=doc.Root.ToString();//

c# - 使用 XDocument 遍历大型 XML 文件

我必须将现有XML文件中的节点复制到新创建的XML文件中。我正在使用XDocument实例来访问现有的XML文件。问题是XML文件可能非常大(比如说500K行;Openstreetmap数据)。在不导致内存错误的情况下遍历大型XML文件的最佳方法是什么?我目前只使用XDocument.Load(path)并循环遍历doc.Descendants(),但这会导致程序卡住,直到循环完成。所以我认为我必须异步循环,但我不知道实现此目的的最佳方法。 最佳答案 您可以使用XmlReader和IEnumerable迭代器产生你需要的元素。这种方

C# linq to xml

我有一个xml字符串,我希望使用LINQtoXML遍历它(我从未使用过它,所以希望学习)。但是当我尝试使用XDocumentxDoc=XDocument.Load(adminUsersXML);varusers=fromresultinxDoc.Descendants("Result")selectnew{test=result.Element("USER_ID").Value};我收到一条错误消息,指出路径中存在非法字符。阅读它,这是因为我不能以这种方式传递标准字符串。有没有办法使用XMLLINQqith标准字符串?谢谢。 最佳答案

c# - 使用 Xdocument 读取 XML

我的类(class):publicclassDevice{intID;stringName;ListFunctions;}和类函数:publicclassFunction{intNumber;stringName;}我有这种结构的xml文件:这是我尝试读取对象的代码:varlist=fromtmpindocument.Element("Devices").Elements("Device")selectnewDevice(){ID=Convert.ToInt32(tmp.Attribute("Number").Value),Name=tmp.Attribute("Name").Valu

c# - 如何在给定 XmlWriter 的情况下创建 XDocument?

我们有一种将XML写入XmlWriter的方法,我们使用它直接生成XML流,而无需通过某种形式的DOM。然而,有些情况下我们确实想要创建一个DOM。一种方法是始终构建DOM并从中流式传输(以满足这两种要求),但我们喜欢直接编写XML的性能。因此,我们希望从XmlWriter构建DOM。参见HowtocreateaXmlDocumentusingXmlWriterin.NET?有关如何从XmlWriter创建XmlDocument的示例,尽管使用了稍微偏离轨道的代码模式。如果我想要XDocument(或XElement子树),是否有类似的选项? 最佳答案

c# - 将 REST 响应转换为 XDocument 时出现问题

我实际上是在玩弄last.FM我通过REST调用的网络服务API。当我得到响应时,我尝试将结果转换为XDocument,以便我可以使用LINQ来处理它。但是当我将结果字符串传递给XDocumnet构造函数时,会抛出一个ArgumentException告诉我“不能将非空白字符添加到内容中。”。不幸的是,我对网络服务和XML编程还很陌生,所以我真的不知道如何解释这个异常。我希望有人能给我提示如何解决这个问题。 最佳答案 在我看来,您好像将响应保存在一个字符串中。如果是这种情况,您可以尝试在XDocument上使用Parse方法,该方法

c# - XDocument.Save 到特定目录?

我是第一次使用这个XML类,找不到这条信息。我在做:xmlDoc=newXDocument(newXDeclaration("1.0","utf-8","yes"));xmlDoc.Add(newXElement("Images"));xmlDoc.Save("C:\\Backup\\images.xml");但是不起作用。它只有在我只使用文件名时才有效,比如“images.xml”,当然,文件会保存在执行路径上。 最佳答案 默认情况下,您很可能无法保存到“C:\Backup”,除非您在提升的权限下运行您的程序。默认情况下,您只能保

c# - 使用 Linq 获取 CDATA XML 部分

我四处搜索寻找获取CDATA部分文本区域的方法,并找到了使用linq的非常好的解决方案。我需要提取CDATA部分中嵌入的XML,以便提取不同的信息。我有以下XML:-39979800003997RedRiderBB-GunInStockChicago]]>因此,如果可能的话,我希望通过将整个cdata部分提取到XDocument中来实现这一点,这样我就可以使用Linq进行查询。另外,如果我只是想从CData部分中提取一个元素。我怎样才能做到这一点?使用林克?我曾尝试使用下面的Linq代码返回cdata部分,但无法对其执行任何操作,因为它作为IEnumerable返回。我可能遗漏了一些简

c# - 针对特定模式验证 XDocument

我有一个已加载的XDocument文件。(确认工作)。我需要验证这份文件。为此,我有一个XSD文件作为嵌入式资源附加到项目中。我加载具有这些代码行的xsd:Assemblyassembly=Assembly.GetExecutingAssembly();Streamstream=assembly.GetManifestResourceStream("Project.Models.Ci.def.xsd");我现在如何根据此XSD验证XML?我只需要知道文档是否有效,所以没什么特别的。 最佳答案 有一种验证扩展方法可能会满足您的需要。查

xml - 如何将 StreamReader 转换为 XDocument?

我在IsolatedStorage中存储XML数据,同时从IsolatedStorage读取数据。我需要将StreamReader转换为XDocument。以下代码用于将StreamReader转换为XDocument。我收到类似这样的错误:“根元素丢失”using(IsolatedStorageFilemyIsolatedStorage=IsolatedStorageFile.GetUserStoreForApplication()){IsolatedStorageFileStreamisoFileStream=myIsolatedStorage.OpenFile("AllHeadL