问题标签 [xmlwriter]

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 投票
3 回答
8100 浏览

c# - .NET XmlWriter 中的正确名称空间管理

我在工作中广泛使用 .NET XML 技术。我非常喜欢的一件事是 XSLT 引擎,更准确地说是它的可扩展性。然而,有一小块一直是烦恼的根源。没什么大不了的,或者我们不能忍受的东西,但它阻止了我们生成我们想要生成的漂亮 XML。

我们所做的其中一件事是内联转换节点并将节点从一个 XML 文档导入到另一个文档。

可悲的是,当您将节点保存到一个XmlTextWriter(实际上是任何XmlWriter.Create(Stream) 返回)时,命名空间定义都会被扔在那里,无论它是否必要(先前定义)。您会得到以下 xml:

有没有人建议如何说服 .NET 对其命名空间定义有效?

PS。作为额外的奖励,我想覆盖默认命名空间,在编写节点时更改它。

0 投票
2 回答
2130 浏览

php - 是否有任何关于 PHP XMLWriter 功能的资源?

PHP 文档可以在这里找到,但我认为它相当缺乏。没有关于如何使用这些功能的示例,并且很少(如果有)页面有用户评论。那么我在哪里可以找到关于如何使用这些函数来编写 XML 文档的解释(和示例代码)?

0 投票
5 回答
32131 浏览

c# - 如何使用 XmlWriter 将编码属性添加到 utf-16 以外的 xml?

我有一个创建一些 XmlDocument 的函数:

我设置了一个编码,但是在我创建 XmlWriter 之后它确实具有 utf-16 编码。我知道这是因为字符串(我想是 StringBuilder)是用 utf-16 编码的,你不能改变它。
那么我怎样才能轻松地创建这个编码属性设置为“windows-1250”的xml呢?它甚至不必以这种编码方式进行编码,它只需要具有指定的属性即可。

编辑:它必须在 .Net 2.0 中,所以不能使用任何新的框架元素。

0 投票
3 回答
1977 浏览

c# - 同步 XmlWriter 对文件的访问以防止 IOExceptions 的最佳方法是什么?

应用程序中有多个位置在同一个文件上调用 XmlWriter.Create,所有位置都通过以下函数访问。当一个人打电话而另一个人还在写信时,我得到一个 IOException。锁定或同步访问的最佳方式是什么?

这是正在使用的功能:

更新:看起来问题不仅来自对该函数的调用,还因为另一个线程正在读取该文件,而该函数正在写入。什么是最好的锁定方式,这样我们就不会在读取文件时尝试写入文件?

0 投票
3 回答
7425 浏览

c# - 在 C# 中从 XML 编写器创建 XML Element 对象

我正在用 C# 编写一个 Windows 服务。我有一个XmlWriter包含 XSLT 转换的输出。我需要将 XML 放入XMLElement对象中以传递给 Web 服务。

做这个的最好方式是什么?

0 投票
2 回答
3572 浏览

c# - XmlWriter 只转义一种引用

这是一些 C# 代码:

我得到一个看起来像这样的字符串:

它只是转义双引号,而不是单引号。但是 XmlWriter.WriteAttributeString(String, String) 的文档说:

如果属性值包含双引号或单引号,则将它们替换为 " 和’ 分别。

是否需要设置一些标志以使其执行文档所说的操作?

0 投票
4 回答
28795 浏览

c# - 可以使用 XmlWriter 将 XML 写入内存吗?

我正在创建一个返回 XML 的 ASHX,但是当我这样做时它需要一个路径

但是returnXML 现在只是一个空字符串(我猜这行不通),但是我需要将 XML 写入可以作为响应文本发送的内容。我尝试了 XmlDocument,但它给了我一个期望字符串的错误。我在这里想念什么?

0 投票
1 回答
1304 浏览

c# - 代码隐藏生成的 DataTemplate 中的 EventBinding

让我们从场景开始:

我在 UserControl 中有一个 ItemsControl。在这个 ItemsControl 中,我有一个动态创建的 DataTemplate,它是在代码隐藏中创建和添加的。由于似乎没有在代码隐藏中创建 DataTemplate 的好方法,因此我必须以编程方式将 DataTemplate 的 xaml 代码生成为字符串,然后通过 XamlReader 从中创建 DataTemplate 对象:

生成的 XAML 代码如下所示并且实际使用(项目按预期呈现):

如果您想知道:XamlReader 需要 xmlns 属性来呈现控件,否则在访问代码时会出现异常。

我的问题:

现在,虽然项目看起来像预期的那样并且数据被正确绑定,但我的 customConverter 应该重新格式化绑定的数据,也没有正确应用 LostFocus 事件。我没有收到任何错误消息或警告,转换器和事件只是没有被调用。任何人都知道为什么以及如何让它发挥作用?

更新:

我到了必须解决这个问题或尝试不同方法的地步。在我上次的测试中,我尝试直接在 DataTemplate 中添加转换器,但我没有运气。生成的代码现在如下所示:

有任何想法吗?

更新 2:

正如我刚刚发现 XamlReader.Load() 只是无法连接事件。在 Silverlight 论坛中查看此主题

转换器应该可以工作,我想我仍然有某种我没有看到的命名空间问题。我对我的“简单” ItemsControl 方法有点选择,所以我认为是时候寻找另一种方法来满足我的需求了。

0 投票
2 回答
2444 浏览

c# - 在哪里使用 XmlWriter 编写 XML 以在 ASP.NET 中通过 HttpWebRequest POST 发送?

这是我的代码,请参阅说明 ???在这里做什么??? 我不确定我将这个 XML 写到哪里以便能够通过那里的 objRequest 在我的 POST 中发送它......

0 投票
4 回答
10683 浏览

.net - XmlWriter 编码问题

我有以下代码:

XML 生成正确;但是,我的问题是字符串 'test' 的第一个字符是 ï (char #239),使其对某些 xml 解析器无效:这是从哪里来的?我到底做错了什么?

我知道我可以从第一个字符之后开始解决问题,但我宁愿知道它为什么存在,而不是简单地修补问题。

谢谢!