问题标签 [xmltextreader]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
621 浏览

.net - .NET 1.1 中的 XMLTextReader

我有一个读取 XML 文件的进程。它使用 XMLTextReader 类来执行此操作,因为它应该是一个快速、仅转发的 XML 解析器/读取器。

对 1 兆字节的测试文件非常有效,但在实时系统中处理 12 兆字节的文件时会完全停止。

除了编写我自己的 XML 阅读器之外,还有其他解决方案吗?这不是世界末日,但如果可能,我更愿意使用可用的标准组件

0 投票
3 回答
852 浏览

c# - 路径中的哈希字符引发 DirectoryNotFoundException

考虑以下代码片段

现在,当传递如下路径时,此功能正常:

“C:\工作文件\技术信息\Dummy.xml”

但是通过时会抛出错误

"C:\Work Files\#Technical Information\Dummy.xml"

请注意,指定的所有文件夹和文件都存在,并且哈希字符是路径的有效字符。错误详情如下:

System.IO.DirectoryNotFoundException:找不到路径“C:\Work Files\”的一部分。
在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs , String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials)
at System。
System.Xml.XmlTextReaderImpl.OpenUrlDelegate(Object xmlResolver ) 处的 Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn )
在 System.Threading.CompressedStack.runTryCode(Object userData)
在 System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode 代码, CleanupCode backoutCode, Object userData)
在 System.Threading.CompressedStack.Run(CompressedStack compressedStack, ContextCallback callback, Object state)
在 System.Xml.XmlTextReaderImpl.OpenUrl()
在 System.Xml.XmlTextReaderImpl.Read()
在 System.Xml.XmlTextReader.Read()

有人知道发生了什么吗?

0 投票
3 回答
1614 浏览

wpf - WPF - 使用 XMLTextReader 在 XML 文档中搜索值

好的另一个WPF问题,我想这只是一般的.NET。我有一个从 URL 检索的 xml 文档。

我想从文档中获取多个值(天气数据、位置、其他一些字符串)。

当我使用 XmlTextReader 时,我可以调用我的方法来提取值。第一次通过方法来搜索 xml 节点并获取值(XMLTextReader 对象)时,我得到了正确的数据,但随后 XMLTextReader 死了。不知道为什么它会被取消。所以我不得不在下面的 FindTags... 方法中执行这个 UGLY 代码。我只想继续将 xtr (XMLTextreader) 传递回我的 find 方法。这是读者的本性吗?我也不想每次都点击 URL ......这似乎也是错误的。

帮助..这一切都感觉不对。

谢谢。

获取 WeatherFeed 方法(截图)

0 投票
6 回答
3200 浏览

c# - 大型 XML 文件,XmlDocument 不可行但需要能够搜索

我正在努力使用合理的逻辑循环来从 XML 文件中删除节点,该文件太大而无法与支持 .NET 类的 XPath 一起使用。

我试图用执行相同但使用 XmTextReader 的代码替换我拥有的单行代码(使用 XPath 查询字符串调用 SelectNodes)。

如先前使用的 XPath 查询所示(仅供参考),我必须往下走几个级别:

我认为这会很烦人但很简单。但是,我似乎无法正确循环。

我需要获取一个节点,检查该节点下的一个节点以查看该值是否与目标字符串匹配,然后如果匹配则继续往下走,如果不匹配则跳过该分支。

事实上,我认为我的问题是,如果我对分支不感兴趣,我不知道如何忽略它。我不能让它走不相关的分支,因为元素名称不是唯一的(如 XPath 查询所示)。

我想我可以维护一些布尔值,例如当我点击 Profile 节点时设置为 true 的 bool expectingProfileName。但是,如果它不是我想要的特定配置文件节点,我就无法离开那个分支。

所以......希望这对某人有意义......我已经盯着这个问题看了几个小时,可能只是错过了一些明显的东西......

我想发布文件的一部分,但无法弄清楚结构大致如何:

我会知道 ProfileName、ScreenName 和 SettingName,并且我需要 Setting 节点。

我试图避免一次性读取整个文件,例如在应用程序启动时,因为其中一半的东西永远不会被使用。我也无法控制生成 xml 文件的内容,因此无法将其更改为生成多个较小的文件。

任何提示将不胜感激。

更新

我已经重新打开了这个。一张海报建议 XPathDocument 应该是完美的。不幸的是,我没有提到这是一个移动应用程序并且不支持 XPathDocument。

按照大多数标准,该文件并不大,这就是系统最初被编码为使用 XmlDocument 的原因。它目前是 4MB,显然大到足以让移动应用程序在加载到 XmlDocument 时崩溃。它可能现在就出现了,因为文件预计会变得更大。无论如何,我现在正在尝试 DataSet 建议,但仍然对其他想法持开放态度。

更新 2

我很怀疑,因为很多人都说他们不会期望这么大的文件会导致系统崩溃。进一步的实验表明,这是一次间歇性崩溃。昨天它每次都崩溃,但今天早上我重置设备后,我无法重现它。我现在正试图找出一套可靠的繁殖步骤。并决定处理我确信仍然存在的问题的最佳方法。我不能就这样离开它,因为如果应用程序无法访问该文件,它就没用了,而且我认为无法告诉我的用户,当我的应用程序运行时,他们无法在他们的设备上运行其他任何东西...... ……

0 投票
1 回答
4573 浏览

c# - XmlTextReader - 它是否锁定文件?

这可能是一个非常简单的事情,但我一直无法找到它,我可能只是在寻找错误的东西......

XmlTextReader --> 它会锁定您正在阅读的文件吗?我正在使用 reader.Read() 就是这样。

0 投票
1 回答
16239 浏览

asp.net - 如何将 XML 作为字符串从 XmlTextReader 输出到 Response.Write?

我已经从 API 中检索了一些 XML(至少我认为是这样,服务器响应是“OK”)但是我将响应流放入 XmlTextReader,如何将此 XML 输出为字符串?

0 投票
2 回答
19259 浏览

xml - .net XmlDocument.load() 的根元素丢失错误

大家好。

当我将 REST 请求的结果加载到 XmlDocument 中时,出现 asp.net 错误“缺少根元素”。当我使用 Firefox 插件“RESTTEST”执行相同的 REST 请求时,它看起来很好并返回有效结果。但是错误出现在 C#.net 代码隐藏中。有谁知道这可能是什么原因?以下是相关代码:

我的目标是将 REST 请求的结果加载到可遍历的 XML 数据模型中,然后我可以从中获取元素及其值。

当我使用这段代码时,我得到了预期的结果。有什么不同?

0 投票
2 回答
203 浏览

asp.net - 通过另一个 DLL 中的方法从我的 Web 应用程序中的文件加载 XmlTextReader

我正在将要放入 Web 应用程序的 DLL 中创建一个方法。

Web 应用程序有一个文件夹,其中包含一个 XML 文件:

/files/myfile.xml

我的 dll 必须引用该 DLL,但显然我不能硬编码文件的路径。

如何引用该文件并使用该文件加载 XmlTextReader?

0 投票
1 回答
3718 浏览

c# - 如何使用 xmltextreader 从简单的 xml 文件中加载哈希表

使用 xmltextreader,我将如何加载哈希表。

XML:

之前有人问过这个问题,但它使用了一些我还不太熟悉的时髦的 linq。

0 投票
2 回答
1172 浏览

asp.net - 登录到站点时如何从另一个页面读取 C# XML

我已经用我的网络浏览器登录了这个网站,每当我尝试打电话时

或者

Response.Write 将登录页面返回给我。

是否可以将用户 SessionId 附加到 WebClient 或 XmlTextReader 或者如何使用当前登录的用户请求 C# 中的另一个页面?