72得票5回答
决定何时使用XmlDocument和XmlReader

我正在优化一个自定义对象到XML序列化的工具,它已经全部完成且可用,这不是问题。 它通过将文件加载到XmlDocument对象中,然后递归遍历所有子节点来实现。 我想也许使用XmlReader而不是让XmlDocument加载/解析整个文件会更快,所以我也实现了那个版本。 算法完全相同,...

58得票4回答
XML文档中禁止使用DTD的异常情况

在使用C#应用程序解析XML文档时,我遇到了以下错误: "由于安全原因,此XML文档中禁止使用DTD。要启用DTD处理,请将XmlReaderSettings上的ProhibitDtd属性设置为false,并将设置传递给XmlReader.Create方法。" 需要参考的是,在以下...

7得票3回答
如何在使用XElement.Save时省略XML声明?

XElement.Save实际上是我需要的,但它会以以下方式开始文件: <?xml version="1.0" encoding="utf-8"?> 有没有办法防止这种情况发生? 我在创建XElement后,是否应该使用其他类型或方法来保存? 还是应该通过XmlReade...

13得票4回答
问题 - XML声明只允许在文档开头

xml:19558:解析器错误:XML声明仅允许在文档开头处 有什么解决办法吗?我正在使用php XMLReader解析一个大型XML文件,但遇到此错误。我知道该文件格式不正确,但我认为不可能浏览文件并删除这些额外的声明。所以有什么想法,请帮忙。

11得票1回答
是否可以保存当前的XMLReader位置以供以后使用?

我已经用XMLWriter对象将一段内容写入了Stream对象,并创建了一个XMLReader对象。 我知道XMLReader对象只能向前读取,因此我想保存当前的读取位置,这样我就可以从停止读取的地方继续读取。 这是否可行? 我知道这可能有些棘手,因为XMLreader会读取内存块,所以恢...

25得票2回答
使用XmlReader读取属性值

我有一个XML文件,我想从 这里 读取,并且有以下代码:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; using System.IO...

18得票2回答
“http://www.w3.org/XML/1998/namespace:lang”属性未被声明。

有时候,当使用XmlValidatingReader验证某些XML文档时,我会收到以下错误:System.Xml.Schema.XmlSchemaValidationException: "The 'http://www.w3.org/XML/1998/namespace:lang' att...

9得票5回答
使用XmlWriter将现有的XML文件追加内容

我已经使用以下代码创建了一个XML文件: ```我已经使用以下代码来创建一个XML文件:``` XmlWriterSettings xmlWriterSettings = new XmlWriterSettings(); xmlWriterSettings.Indent = true; x...

9得票3回答
PHP打开压缩的XML文件

我正在努力用php读取gzipped xml文件。 我已经成功地使用XMLReader()读取普通的xml文件,就像这样: $xml = new XMLReader(); $xml->open($linkToXmlFile); 然而,当xml文件被压缩成gz格式时,这种方法就不再...

10得票3回答
性能:XmlReader还是LINQ to XML?

我有一个150MB的XML文件,它是我的项目中使用的数据库。目前我正在使用XmlReader从中读取内容。我想知道在这种情况下使用XmlReader还是LINQ to XML更好。 请注意,我正在搜索此XML中的项目并显示搜索结果,因此可能需要很长时间或仅需一瞬间。