草庐IT

python - Python 中是否有一个快速的 XML 解析器允许我将标记的开始作为流中的字节偏移量?

我正在处理可能包含来self的一个项目的复杂跟踪信息的巨大XML文件。我想为这些XML文件建立索引,以便可以快速找到XML文档的子部分,而不必将其全部加载到内存中。如果我创建了一个“搁置”索引,其中可能包含诸如“作者乔的书”之类的信息,这些信息位于偏移量[22322、35446、54545]处,那么我可以像打开普通文本文件一样打开xml文件并查找那些偏移量,然后将其传递给接受文件或字符串的DOM解析器之一。我还没有弄清楚的部分是如何快速解析XML并创建这样的索引。所以我需要一个快速的SAX解析器,它允许我找到文件中标记的起始偏移量以及开始事件。所以我可以将XML的一个小节连同起点一起解

c# - 在 C# 中使用 (IDisposable obj = new ...) 在流中写入代码块(例如 XML)

我已经开始使用实现IDisposable的类通过using语句在流中写入block。这有助于保持正确的嵌套并避免丢失或错误放置开始/结束部分。基本上,构造函数写入block的开始(例如打开XML标记),Dispose()结束(例如关闭XML标记)。示例是下面的UsableXmlElement(它用于大型XML,因此LINQtoXML或内存中的XmlDocument不是选项)。但是,这些IDisposable没有实现Microsoft推荐的复杂模式,具有Destructor/Finalizer、单独的Dispose(bool)方法和GC.SuppressFinalize()。Dispos

c# - 从流中读取 XML

我正在使用ASP.NET,并且正在从表单中导入XML文件。现在我将其转换为Stream:StreaminputStream=XmlFileUploadControl.PostedFile.InputStream;因为我以后可能需要这个版本。我想首先检查以确保XML文件的格式正确,如果正确,则显示一些信息:if(CorrectFileFormat(inputStream)){DisplayLicenseInfo(inputStream);}else{StatusLabel.Text="SelectedfileisnotaLicensingDiagXMLfile";}CorrectFile

c# - 如何处理C#流中的位置

流上position属性的(整个)文档说:Whenoverriddeninaderivedclass,getsorsetsthepositionwithinthecurrentstream.ThePositionpropertydoesnotkeeptrackofthenumberofbytesfromthestreamthathavebeenconsumed,skipped,orboth.就是这样。好的,因此我们很清楚它没有告诉我们什么,但是我真的很想知道它实际上代表什么。“职位”是做什么用的?我们为什么要更改或阅读它?如果我们更改它-会发生什么?在一个实际的示例中,我有一个定期被写

c# - 在 C# 中替换流中的字符串(不覆盖原始文件)

我有一个文件,我正在将其打开到流中并传递给另一个方法。但是,我想在将流传递给其他方法之前替换文件中的字符串。所以:stringpath="C:/...";Streams=newFileStream(path,FileMode.Open,FileAccess.Read,FileShare.Read);//needtoreplacealloccurrencesof"John"inthefileto"Jack"here.CallMethod(s);不应修改原始文件,只能修改流。最简单的方法是什么?谢谢... 最佳答案 如果您只是按行读入文

c# - 使用 C# 从 TCP 流中解析串联的、非定界的 XML 消息

我正在尝试解析通过TCP发送到我的C#应用程序的XML消息。不幸的是,协议(protocol)无法更改,XML消息没有定界,也没有使用长度前缀。此外,字符编码不固定,但每条消息都以XML声明开头.问题是,我如何使用C#一次读取一条XML消息。到目前为止,我尝试将数据从TCP流读取到字节数组中并通过MemoryStream使用它.问题是,缓冲区可能包含多个XML消息,或者第一条消息可能不完整。在这些情况下,我在尝试使用XmlReader.Read解析它时遇到异常或XmlDocument.Load,但不幸的是XmlException并不能真正让我区分问题(解析本地化错误字符串除外)。我尝试

c# - 用于在 XML 流中取消转义字符的内置 .NET 函数?

所以,我有以下形式的一些数据:<foo><bar>test</bar></foo>我想使用什么.NET类/函数将其转换为漂亮的东西并将其写出到如下所示的文件中:test请具体函数和类,而不仅仅是“使用System.XML”。在.NET中似乎有很多不同的方法可以使用XML做事:(谢谢 最佳答案 使用System.Xml.XmlDocument类...DimValAsString="<foo><bar>test</bar></foo>"Dim

c# - 如何使用 C# 上传文件并将其保存到流中以供进一步预览?

有没有办法上传一个文件,保存到一个Stream中,这个Stream我会暂时保存在一个Session中,最后我会尝试预览这个上传的文件是在这个Session中的吗??例如pdf文件。谢谢!!已编辑这是我正在尝试做的事情:HttpPostedFileBasehpf=Request.Files[0]asHttpPostedFileBase;byte[]buffer=newbyte[hpf.InputStream.Length];MemoryStreamms=newMemoryStream(buffer);ms.Read(buffer,0,(int)ms.Length);Session["pd

c# - 如何将 xmldocument 保存到流中

我已经编写了代码来使用XmlReader解析我的xml文件,所以我不想重写它。我现在已经为程序添加了加密。我有encrypt()和decrypt()函数,它们采用xml文档和加密算法。我有一个使用xml阅读器解析文件的函数,但现在有了xml文档,我不确定如何创建xmlreader。问题是如何将我的xml文档保存到流中。我敢肯定这很简单,但我对流一无所知。XmlDocumentdoc=newXmlDocument();doc.PreserveWhitespace=true;doc.Load(filep);Decrypt(doc,key);StreamtempStream=null;doc

c# - 从开放的 HTTP 流中读取数据

我正在尝试使用.NETWebRequest/WebResponse类在此处访问Twitter流API“http://stream.twitter.com/spritzer.json”。我需要能够打开连接并从打开的连接中增量读取数据。目前,当我调用WebRequest.GetResponse方法时,它会阻塞,直到下载完整个响应。我知道有一个BeginGetResponse方法,但这只会在后台线程上做同样的事情。我需要在下载仍在进行时访问响应流。对于这些类(class),这对我来说似乎是不可能的。Twitter文档中对此有具体的评论:“请注意,某些HTTP客户端库仅在服务器关闭连接后才返回