问题标签 [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 投票
1 回答
142 浏览

c# - XMLTextReader 获取孩子

我是新的 ti XML,我正在努力学习一些基础知识。

我有一个读取文档的 XMLTextReader:

我到达“GroupNode”,然后我需要保存子元素的 GUID。为此...我正在考虑遍历它们并获取我需要的信息。

我似乎无法得到孩子的数量,所以我可以通过他们做一个 forloop。

请帮忙。

在这里,我反序列化文件并从 XML 创建树结构(3D)。

下面的代码片段来自我返回节点类型的 Node_Create() 方法。

0 投票
1 回答
422 浏览

c# - XmlTextReader - 文件更新后 XML 读取旧内容


所以我正在使用“ Updater.exe ”,它正在我的网络服务器上读取XML文件。更新程序检查是否有可用的程序的新版本传输新文件(替换旧文件)并运行它。(文件名是乱码,因为我不希望用户直接运行它,它必须通过更新程序(在 p.StartInfo.UseShellExecute = false; 的帮助下运行它;))。

我现在遇到了一个非常奇怪的“错误”或者我应该如何称呼它。

假设我在 1 周后制作了一个新版本。我也更新了应用程序的程序集信息和 XML 文件版本。现在,当我运行 UPDATER.exe 时,他没有看到更新的 XML 内容,告诉他有新版本可用。当我想通过我的网络浏览器检查文件时,它也显示了旧内容(以前的版本)的意思,应用程序是最新的,这是错误的。

在我按下 Chrome 中的“刷新”按钮后,我显示的内容被更新并且再次运行 Updater.exe工作正常

我没有任何想法实际上发生了什么。在浏览器中“刷新”页面与我的应用程序有什么关系?

从 MSDN 检查 XMLTextReader 类,它说:

表示提供对 XML 数据的快速、非缓存、只进访问的读取器。所以是的,在互联网上搜索告诉我应该查找“缓存”问题,这让我在阅读课程描述时更加困惑。经过这么长时间没有更新后在浏览器中刷新后,所有下一次更新都可以正常工作。似乎“大停顿”总是造成这个问题。

无论如何,我很想找到解决方案。也许只有我有这个问题。但我不想从使用该应用程序的用户那里看到这个问题。他们没有时间或知识来“刷新”任何东西。它只需要工作。

XML 示例在这里:

还有一些我用来读取 XML 的代码。

我尽我所能(用我简单的英语知识)在这里尽可能详细地描述了这个问题。我没有运气搜索互联网。我希望这不会导致重复。如果您有任何其他问题,请随时提出。我一定会为您提供解决这个奇怪难题所需的所有信息。

最好的问候,迈克

0 投票
1 回答
518 浏览

c# - 在 C# 中使用 xmltextReader 更新 xml 文件

我有像这样的 test.xml 的 xml 文件:

我必须做的事情是:

  1. 我必须使用 xmltestReader 和 xmldocument 在 xml 文件中保存更新的值
  2. 我从第三个客户端收到关于 messageID 的请求,所以我必须检查它是否存在于 xml 文件中(例如,获取 msg1 的请求,所以我必须匹配它是否存在的 xml 文件)。

希望我的问题很清楚。

0 投票
1 回答
648 浏览

c# - 如何获取 Xml 节点的全名

我有一个看起来像这样的示例 xml 文件。

我的输出文件如下所示:

这主要是我想要的。但是,由于某种原因,我只得到“标题”、“文本”和“内容”等等。但我希望它打印出“TextBlock Text”和“Label Content”以及“TextBox Text”和“Button Content”等等。我正在使用 XmlTextReader,但似乎找不到任何支持将其打印出来。reader.Name 只是打印出我已经拥有的内容。
这是我的代码:

谢谢!

0 投票
1 回答
87 浏览

c# - 读取 XmlTextReader 中元素值的单个表达式

考虑xml文件的一部分。

我使用 XmlTextReader 读取 xml 文件。所以我用while(reader.Read())

现在,当我到达时,Element我想获得它的价值。

有什么办法可以将这两条线结合起来吗?单个表达式等于:

请注意,我不想跳到 Element。我正在使用 XmlTextReader 并逐行读取 xml。

唯一的原因是保持代码简单。如果可能的话,我会感觉更好。

0 投票
2 回答
309 浏览

c# - 使用 XmlTextReader 读取元素内的元素

我正在读取XML data和检索基于element. 有一个名为的元素<UniqueColumns>,它可以有一个名为 的子元素<string>。我想读取这些值并将其添加到ObservableCollection<String>. 如果没有值,那么什么都不做。有以下三种情况:

场景 - 1:超过 1 个子元素。

场景 - 2:只有一个子元素。

场景 - 3:没有子元素。

代码:

0 投票
1 回答
233 浏览

c# - 如何确定 XmlTextReader 读取了多少数据?

在处理 XML 时,如何确定我已经处理了多少数据,无论是字节还是字符?如果底层流是 a FileStream,那将很容易。我如何使用底层证券来做到这一点NetworkStream

性能和内存考虑非常重要。

0 投票
2 回答
107 浏览

xml - XmlTextReader 每秒读取大量特定节点

下面找到我正在使用的 xml 示例和代码。当我使用WhiteSpacehandling = None4 本书时,我只收到 2 本书(每隔一本书)。我发现的解决方案是使用 WhiteSpaceHandling 设置为WhiteSpacehandling = All- 然后我得到 4 条记录,因为在 xml 中的每一行的末尾放置了 CR(回车),因此当参数设置为时,读者以某种方式使用它来正确地从 xml 中获取所有数据WhiteSpacehandling = All。不幸的是,当 XML 文件数据都在一行中时仍然存在问题,那么即使设置WhitespaceHandling to All也无济于事,我会每隔一秒检索一次书籍数据(因为没有 CR)。你知道我该如何处理这个问题吗?即使数据放在一行中,如何始终获取所有数据?

XML 文件:

我正在使用的代码:

图片1:

在此处输入图像描述

图二:

在此处输入图像描述

0 投票
1 回答
274 浏览

xml - XmlTextReader 无法正常工作

我正在尝试创建一个循环,该循环读取具有特定 ID 号的项目的 XML 文档,然后将该项目的子节点存储为变量,然后用于填充我页面上的标签。

XML 文档(冗余的 ID 节点用于获取 ID 号,但最终会被淘汰。当前代码只查找“id”属性。这是可能的,因为它区分大小写)

链接按钮将变量“selected”作为命令参数传递。在我的控制台中,我可以看到它工作正常。即,单击第一项将“选定”设置为 1。我遇到的问题是读取 XML 并将 id 属性作为compareID变量传递。不管我做什么,我似乎总是得到compareID=0

其次,循环似乎无限期地运行。在找不到匹配项后,如何对阅读器进行编程以使其在到达文档末尾时停止。

0 投票
1 回答
76 浏览

c# - 为什么 XmlTextReader 在调用不受支持的 Stream.Length 时失败?

我有一个 XmlTextReader,并将它传递给 System.Net.ConnectStream。如果我进入调试器,我可以看到 ConnectStream 不支持 Length 属性,这会引发 NotSupportedException。

现在,我将 Stream 子类化并传入我的类的一个实例。我的课程还在 Length 的 get() 访问器上抛出 NotSupportedException,但是这次我的所有单元测试都失败并出现 NotSupportedException。

XmlTextReader 文档没有说它需要支持长度的流,并且它显然可以使用不需要的流 - 发生了什么?

(这是 .NET 3.5 客户端)