问题标签 [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.
c# - XmlTextReader & XmlNodeTypes
我正在使用 XmlTextReader 并使用一个开关来确定我想要根据 XmlNodeType 执行哪些操作。
等等...
现在我有一个小问题。我所知道的,
匹配具有以下语法的任何节点
和
火柴
但是 XmlNodeType 匹配什么
?
c# - 如何在接收到来自网络流的 XMLTextReader 节点时处理它们(一次片段)?
我有一个使用 XML 通过持久 TCP 套接字进行通信的设备。命令以 XML 结构发送给它,响应以 XML 形式返回。设备输出一个打开的根元素,例如<OurProtocol>
在建立连接时。对命令或查询的每个响应都将返回唯一的 XML 片段。我有以下代码将流解析为带有XMLTextReader
.
我正计划构建一个状态机来处理检测到的节点;将最终目的地放入 C# 数据类以供主程序使用。是否有现有的 .NET 技术可以处理节点并将我从用于处理返回的 XML 片段的手动编码状态机中拯救出来?
我确实可以访问模式文件,但我认为我不能使用 documemt 类,因为数据源不是完整的字符串或文件,而是网络流。
c# - 将 XhtmlTextWriter 与 XmlTextReader 一起使用
阅读本文后,我决定使用以下代码(使用XmlDocument
)更新XmlReader
:
渲染控件
在每个节点后添加换行符
递归遍历每个节点并种植新元素
问题:
有没有优化现有代码的空间?
我将如何直接
XmlTextReader
从Control
或对象实例化StringWriter
?XhtmlTextWriter
还是我真的需要先渲染它string
然后实例化XmlTextReader
?
编辑
根据 Jon Skeet 的回答,这是更新。这个想法是在每个元素之后内爆一个换行符:
美化前:
美化后:
请注意在其他所有内容(带有子节点)展开时如何span.another-span
保持折叠。缩进将由 Visual Studio 断言。
c# - 为什么 XmlTextReader 在 style:name="T103" 结束标记后跳过行?
我的程序旨在读取 content.xml 文件。
所以在读取style:name="T103"
结束标签后,它会使用reader.Read()
函数然后跳转到</office:automatic-styles>
标签。
将所有内容都跳过到该标签。
这是为什么?
标签代码<style:style>
:
和<style:text-properties>
:
我试图调试,我只是发现它在</style:style>
节点之后,因为style:name="T103"
它跳过每个节点直到</office:automatic-styles>
.
该节点是所有样式节点之后的最后一个结束标记。
为什么这样做?
c# - 根级别的数据无效。第 1 行,位置 1 在内存 xml 中有效
我从 OGC 投诉网络功能服务下载的内存中有一个非常有效的 XMl 字符串。
当我使用以下代码创建 am XmlTextReader 以解析到我的解析器时,
我收到一个异常,表明 rool 级别的数据无效。如果我将此字符串保存到本地文件中说 feature_desc.xsd 使用 File.ReadAllText 并调用上述例程,我会遇到类似的问题。
但是,如果我使用 XmlReader.Create(feature_desc.xsd),我的解析器在开始遍历 XML 节点时不会抛出异常。这是一种总结这些动作的方法;
在内存中字符串的表示是:
并且持久化的文件是:
有人遇到这个吗?
c# - 使用 XmlTextReader 时确定文件是否正在被另一个进程访问
如果被另一个进程使用,有什么方法可以读取文件?
xml - 如何读取以前的 XmlReader 元素
我一直在做一个项目,我需要获取 XML 文档的一些信息,然后插入另一个 XML 文档,但它们是不同的文件,新文件不能超过 400KB,我正在尝试返回Read() 方法返回他读取的最后一个元素,并删除 XmlWriter() 的元素。有任何想法吗?
c# - 使用 XMLTextReader 读取 XML 时获取空格
我正在 C#.net 中使用 XMLTextReader 读取 XML。XML的结构如下:
在 reding 属性之后,我将控制权转移到 element1。代码如下:
现在读完这篇文章后,读者会显示空白。我想再次移动到 element1 并从那里使用 ReadToDecendent 我想移动到 element2。我不能使用 MoveToContent(),因为我必须遵循相同的流程。
那么如何在阅读器内部文本之后移动到 element1 呢?
xml - 需要一定的 xPath 搜索模式
我想从 XmlTextReader 中读取某个 XmlNode。我的文件如下所示:
而“aqua”文本被“/r/n”包围。所以我试着以某种方式阅读它:
当然,这只是废品,无法正常工作,所以我需要合适的。
有人能说出正确的 XPath 模式吗?
c# - 为什么 StreamReader.ReadLine 在读取 XML 方面会比 XmlTextReader.Read 做得更好?
我有这段代码,它可以从调用 Web API 应用程序的 Winforms 应用程序正常工作(它成功地将 XML 文件复制到服务器):
但是,当试图找出与此工作代码尽可能相似的代码在尝试将 xml 文件从手持设备发送到同一服务器时不起作用的原因时,我尝试使用 XmlTextReader 代替(如此处所建议的( “你在这里没有使用 XML 类和方法”),我在这里详细介绍了我的辛苦);唯一的区别是:
...在工作(StreamReader)代码中更改为:
使用 StreamReader 代码,读取的数据看起来就像在磁盘上一样:
但是,使用 XmlTextReader 时,这一切都像从大炮中射出的什锦饭一样混杂在一群河马身上:
...并且 XmlTextReader 版本失败,并显示“远程服务器返回错误:(500) 内部服务器错误。 ”
所以 StreamReader.ReadLine 比 XmlTextReader.Read 更适用于 XML 文件;看起来很奇怪......我在这里做错了吗?