问题标签 [xmldocument]
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# - 如果删除了原始 XML 文档,则重新创建相同的 XML 文档
我开发了一个示例应用程序来创建 XML 文档,并创建并保存了 XML 文档。该应用程序仍在运行,但我删除了该 XML 文档,现在我正在尝试使用同一应用程序创建一个新的 XML。我有一个错误
此文档已有“DocumentElement”节点
我可以轻松地将节点附加到现有 XML 文档中,但我想做的是:如果我的 XML 被删除,应用程序必须创建一个具有相同标签的新 XML。
.net - 如何在 .NET 中使用 XmlWriter 创建 XmlDocument?
许多 .NET 函数使用 XmlWriter 来输出/生成 xml。输出到文件/字符串/内存是一个非常操作:
有时,您需要操作生成的 Xml,因此希望将其加载到 XmlDocument 中,或者由于其他原因可能需要 XmlDocument,但您必须使用 XmlWriter 生成 XML。例如,如果您调用仅输出到 XmlWriter 的 3rd 方库中的函数。
您可以做的一件事是将 xml 写入字符串,然后将其加载到您的 XmlDocument 中:
然而这是低效的——首先将所有 xml 信息序列化为一个字符串,然后再次解析该字符串以创建 DOM。
你怎么能指向一个 XmlWriter 来直接构建一个 XmlDocument 呢?
c# - C# - 使用 XmlDocument 操作 Xml
在 C# 中,如何使用 XmlDocument 将 xml 中的节点替换为另一个节点。
例如,考虑以下 xml 文件。
让我们说我需要更换
有一个新节点
c# - 从 Asp.Net 中的现有 XmlDocument 数据创建新的 XmlDocument
我有一个来自 web 服务的 XmlDocument,我想使用 xml 的子集来填充 Gridview 控件。不幸的是,它包含我不需要的额外数据。所以我想从现有 xml 文档的子集创建一个新的 XmlDocument。
基本上,我想创建一个以 为根元素的新 XmlDocument。以下是原始 xml 文档的简短示例:
Anthony 的代码帮助我指出了正确的方向,但这实际上对我有用。
c# - 单元测试 XmlDocument 的最佳实践
对于单元测试 XmlDocument,我有点担心我编写测试用例的方式。
为了断言 XmlDocument,我手动创建了 XmlElements。有时要测试的 XmlDocument 很大,所以我需要编写大量代码来构建预期的 xmldocument。工作量巨大。
XmlDocument 单元测试有没有更好的实现?
reflection - 为什么我不能动态构造 System.Xml.XmlDocument?
以下代码因“无法从程序集中加载类型 'System.Xml.XmlDocument'”错误而失败:
我有对 XmlDocument 所在的 System.Xml 的引用。
知道我做错了什么吗?
c# - C# xml 读/写/xpath 不使用 XmlDocument
我正在重构现有系统中的一些代码。目标是删除 XmlDocument 的所有实例以减少内存占用。但是,当某些规则适用时,我们使用 XPath 来操作 xml。有没有办法在不使用将整个文档加载到内存中的类的情况下使用 XPath?我们已经用 XmlTextReader 替换了所有其他实例,但这些实例之所以有效,是因为没有 XPath 并且读取非常简单。
一些 XPath 使用其他节点的值作为其决策的基础。例如,消息节点的值可能基于数量节点的值,因此需要一次访问多个节点。
c# - 决定何时使用 XmlDocument 与 XmlReader
我正在优化一个自定义对象-> XML 序列化实用程序,这一切都已完成并且可以正常工作,这不是问题所在。
它通过将文件加载到XmlDocument
对象中,然后递归地遍历所有子节点来工作。
我想也许使用XmlReader
而不是XmlDocument
加载/解析整个事情会更快,所以我也实现了那个版本。
算法完全相同,我使用包装类来抽象处理 anXmlNode
与 an的功能XmlReader
。例如,GetChildren
方法 yield 返回一个 childXmlNode
或一个 SubTree XmlReader
。
因此,我编写了一个测试驱动程序来测试这两个版本,并使用了一个重要的数据集(一个 900kb 的 XML 文件,包含大约 1,350 个元素)。
但是,使用 JetBrains dotTRACE,我看到XmlReader
版本实际上比XmlDocument
版本慢!XmlReader
当我遍历子节点时,读取调用似乎涉及一些重要的处理。
所以我说了这么多来问这个:
和 的优点/缺点是什么XmlDocument
,XmlReader
在什么情况下你应该使用它们?
我的猜测是,有一个文件大小阈值在XmlReader
性能上变得更经济,并且内存密集型更少。但是,该阈值似乎高于 1MB。
我ReadSubTree
每次都打电话来处理子节点:
该测试适用于单个级别(即宽和浅)的许多对象 - 但我想知道XmlReader
当 XML 深和宽时票价如何?即我正在处理的 XML 很像一个数据对象模型,1 个父对象到许多子对象,等等:1..M..M..M
我事先也不知道我正在解析的 XML 的结构,所以我无法对其进行优化。
c# - XDocument 或 XmlDocument
我现在正在学习XmlDocument
,但我刚刚遇到XDocument
,当我尝试搜索它们的区别或好处时,我找不到有用的东西,你能告诉我为什么你会使用一个而不是另一个吗?
asp.net - 如何在会话中保留基于 XML 的对象?
我正在从 XML 中的 Web 服务接收数据,并且我通过对象使用该数据,建立在收到的 XML 之上。因此,有时我需要在会话中的请求之间存储此类特定于用户的对象。我知道 XMLDocument 无法显式存储(状态服务器)......所以我正在制作一个糟糕的结构,例如:
所以我隐式存储 xml ......它在开发过程中对我很有用,因为我不确切知道我需要从整个对象中获得哪些属性 - 我可以在紧要关头使用 xpath 等制作简单的实验属性......
所以对我来说很舒服,但是每次我需要从该类的任何属性中获取一些数据时,从字符串构造 xmldocument 看起来效率很低。有什么办法吗?)谢谢。