我搜索了很多,但找不到适合我的问题的解决方案。我写了一个包含电视节目所有剧集信息的xml文件。它有38kb,包含大约680个变量的属性和字符串。起初我只是在XMLTextReader的帮助下阅读它,它在我的四核上运行良好。但是我妻子用了5年的笔记本电脑花了大约30秒才读完。所以我考虑了多线程,但我得到了一个异常,因为文件已经打开。线程开始是这样的while(reader.Read()){...elseif(reader.NodeType==XmlNodeType.Element){if(reader.Name.Equals("Season1")){current.seasonNr=0;
我有一个SslStream,我从中接收自发的XML消息。我想使用XmlTextReader来处理来自该流的XML消息。不幸的是,它只允许我阅读第一个XML。当我在收到第一个xml后调用Read时,该方法抛出异常:XML文档中的多个根(“Xml_MultipleRoots”)。我认为这是一个问题,流一条一条地提供xml消息,但XmlTextReader只能处理一条消息。如何解决这个问题? 最佳答案 首先,不要再使用newXmlTextReader()。使用XmlReader.Create(),这是自.NET2.0以来创建XmlRead
当我读取xml时,如何将XmlTextReader编码设置为“windows-1252”。我不想使用xml中的编码。XmlTextReaderxtr=newXmlTextReader(pathToXML);注意:为了保留换行符,我必须使用XmlTextReader而不是StreamReader。 最佳答案 StreamReaderreader=newSystem.IO.StreamReader(pathToXML,System.Text.Encoding.GetEncoding("Windows-1252"),true);XmlTe
我正在努力处理一个合理的逻辑循环,以便从一个太大而无法与支持.NET类的XPath一起使用的XML文件中剥离节点。我正在尝试用执行相同但使用XmTextReader的代码替换我拥有的单行代码(使用XPath查询字符串调用SelectNodes)。如之前使用的XPath查询(仅供引用)所示,我必须向下几个级别:ConfigurationRelease/Profiles/Profile[Name='MyProfileName']/Screens/Screen[Id='MyScreenId']/Settings/Setting[Name='MySettingName']我认为这会很烦人但很简
我需要在XmlTextReader上设置MaxCharactersFromEntities,这是我目前的代码:xmlDocument=newXmlDocument();xmlTextReader=newXmlTextReader(fileInfo.FullName);xmlTextReader.Settings=newXmlReaderSettings();xmlTextReader.Settings.MaxCharactersFromEntities=0;varvr=newXmlValidatingReader(xmlTextReader);vr.ValidationType=Val
我有一个ACII编码的XML文件。我尝试使用两种不同的MicrosoftXmlReader实现来阅读它:XmlReader.Create(newStreamReader(fileImport.FileContent,true));新的XmlTextReader(fileImport.FileContent)第一个XmlReader.Create使用StreamReader进行编码,效果很好。第二个,新的XmlTextReader,抛出一个XmlException和消息“给定编码中的无效字符”。如果您阅读了这两者的MSDN文档,它们都应该从字节顺序标记检测编码,如果失败则回退到UTF-8
我是一名初级程序员,从C#和Web服务开始。在我的网络服务的Service.cs文件中,我创建了一个ReadXMLFile()方法,我试图在其中读取现有的XML文件,从中获取数据它并将其放置到我在IService.cs文件中创建的相应属性(DataMembers)。我的问题是我的代码基本上什么也没做。我试过寻找这方面的网站和教程,但实际上并没有太多,尤其是对于像我这样的初学者。任何人都知道我应该怎么做,因为到目前为止我一直在尝试的显然是错误的。下面是我的ReadXMLFile()方法。voidReadXMLFile(){XmlTextReaderreader=newXmlTextRea
我尝试解析此xml,但C#不断抛出异常,提示它包含无效字符。无法直接从messagebox中复制文字,所以我屏蔽了。http://img29.imageshack.us/img29/694/xmler.jpg编辑:复制文本9572fgfdgfdgfdgffg44获取字符串的代码stringstrRetPage=System.Text.Encoding.GetEncoding(1251).GetString(RecvBytes,0,bytes);while(bytes>0){bytes=socket.Receive(RecvBytes,RecvBytes.Length,0);strRet
是否可以在使用XmlTextReader发出HTTP请求时设置User-Agent字符串?如果是这样,我该怎么做?我将VB.NET与.NET2.0运行时一起使用,但可以很好地阅读您的C#建议。感谢您的宝贵时间。 最佳答案 您需要使用WebRequest或WebClient类来手动下载内容;它们允许您设置标题。编辑:例如:varrequest=(HttpWebRequest)WebRequest.Create(url);request.UserAgent="...";using(varresponse=request.GetRespo
我试图在不扩展实体的情况下读取XML文档,对其进行一些操作,然后像最初一样使用未扩展的实体重新保存它。当直接使用XDocument时,它加载失败,抛出异常告诉我它有未展开的实体:XDocumentdoc=XDocument.Load(file);//Exception:Referencetoundeclaredentity'entityname'.然后我尝试将XmlTextReader传递给XDocument构造函数,但是EntityHandling属性没有“不展开”:XmlTextReaderxmlReader=newXmlTextReader(file));xmlReader.En