当前位置: 首页 > 编程语言 > C#

HowtostreamreadlargeXMLfilesinC#3.5Share

时间:2023-04-10 13:41:56 C#

HowtostreamreadlargeXMLfilesinC#3.5HowtoreadlargeXMLfilescontainingxs:sequenceRootelementforstreamingwithoutloadingtheentiredocumentintoain-内存XDocument实例?是的,使用SAX样式的元素解析器和使用XmlReader.Create创建的XmlTextReader类是个好主意。下面是来自CodeGuru的一个稍微修改过的代码示例:voidParseURL(stringstrUrl){元素:varattributes=newHashtable();varstrURI=reader.NamespaceURI;varstrName=reader.Name;if(reader.HasAttributes){for(inti=0;i我无法添加评论,因为我刚刚注册但是Hirvox发布的代码示例当前被选为答案并且其中有一个错误。使用时staticCreate方法,它不应该有一个新的声明。目前:使用(varreader=newXmlReader.Create(strUrl))固定:使用(varreader=XmlReader.Create(strUrl))我不认为这是可能的如果要使用对象模型(即XElementXDocument)查询XML。显然,如果没有读取足够的数据,就无法构建XML对象树。但是,您可以使用XmlReader类。XmlReader类从流中读取XML数据或文件。它提供对XML数据的非缓存、只进、只读访问。这是一个howto:http://support.microsoft.com/kb/301228/en-us请记住,您不应使用XmlTextReader,而应将XmlReader与XmlReader.Create结合使用我对提及“xs:sequence”感到困惑–这是一个XML模式元素。您要打开一个大的XML架构文件吗?您是否基于该架构打开过大型XML文件?或者您是否正在尝试打开一个大型XML文件并同时对其进行验证?这些情况都不能使用标准XmlReader(或XmlValidatingReader)解决问题。使用XMLReader读取XML:http://msdn.microsoft.com/en-us/library/9d83k261(VS.80).aspx此代码示例尝试将XmlReader样式代码转换为SAX样式代码-如果您正在编写代码从头开始,我只是按预期使用XmlReader-拉而不是推。以上就是《C#学习教程:如何在C#3.5中读取和共享大型XML文件》的全部内容。如果对大家有用,需要进一步了解C#学习教程,还望大家多多关注---本文整理自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: