问题标签 [xslcompiledtransform]
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# - 保留空间 XmlCompiledTransform
我试图从我的 xslt 文档中保留空格我的代码是
Xslt 文档
xml文件
我的预期输出是“Hello World”,但我目前正在获得“HelloWorld”,我们将不胜感激。
c# - msxml:script c# xml 片段与 XslCompiledTransform
嗨,我有以下样式表
在c#中使用以下脚本
xml 值为:
但是在执行转换时返回错误:
我的问题是 XslCompiledTransform 类对 XML 树有什么限制吗?还是在使用 XPathNodeIterator 时出现错误?
提前致谢。
c# - 使用 XslCompiledTransform 时在属性之间的 XML 元素中保留空格
我正在使用该类将 XSL-T 文件xsltUri
应用于 XML 文件:TargetXmlFile
XslCompiledTransform
输入 XML:
输入 XSL:
实际输出 XML:
所需的输出 XML:
问题:如何在输出 XML 文件的“元素”标签内保留输入 XML 文件的空格(尤其是换行符)?我尝试了不同的选项,但在这种情况下没有任何效果。
感谢您的任何提示!
.net - 基准 XSLT 性能
我正在尝试对 XSLT 的两个版本进行基准测试。目前我使用 Visual Studio 来调试从 .NET 组件调用的 xml 转换。VS 2010 是我用于开发的 IDE。
我得到的唯一线索是来自输出窗口(下面是一个例子):
样式表加载时间:656.2 毫秒
样式表 JIT 时间:11.18 毫秒
样式表执行时间:177.8 毫秒
我相信我只需要为“样式表执行时间”而烦恼,但不确定这些值是否确实反映了 XSL 的实际能力,因为每次运行似乎都在不断变化。
我想知道是否有可靠的方法来对 XSL 进行基准测试。任何分享使用 .NET 运行时对 XSL 进行基准测试的实践经验都会有所帮助。
c# - XslCompiledTransform cannot load stylesheet, expects token '}'
I have a XML that contains the following line:
XslCompiledTransform.Load is expecting '}' instead of ':'.
Is there any way to avoid this?
c# - “版本”不能是“转换”元素的子元素
我正在使用 XslCompiledTransform.Load 并且每次收到错误消息时:
这是样式表:
如果我删除版本,我会收到错误:缺少强制属性“版本” 是否因为我在标签“转换”中使用样式表而收到错误?
c# - XslCompiledTransform.Load 引发未设置为对象实例的对象引用
在 XslCompiledTransform 中加载 xslt 时,我发现对象引用未设置为对象的实例。
我从数据库中获取了以下 xslt:-
并遵循数据库中的 xml:-
使用以下代码转换 xslt 时:-
但它Object reference not set to an instance of an object
在行抛出错误“”: -
有什么建议么?
更新:只是为了添加更多,我在创建 XmlTextReader 后得到了这个:-
.net - XslCompiledTransform 线程安全
.NET System.Xml.Xsl 的 MSDN。XslCompiledTransform类状态:
线程安全
[1] XslCompiledTransform 对象在加载后是线程安全的。也就是说,Load 方法成功完成后,可以从多个线程同时调用 Transform 方法。
[2]如果在一个线程中再次调用 Load 方法,同时在另一个线程中调用 Transform 方法,则 XslCompiledTransform 对象通过继续使用旧状态来完成执行 Transform 调用。当 Load 方法成功完成时使用新状态。
[3]注意 Load 方法在从多个线程同时调用时不是线程安全的。
我(相当)确定段落[1]和[2]指的是Load()
/在同一个对象实例Transform()
上(在多个线程中)被调用。但是对于[3],有没有人知道它们是否意味着同一实例上的同时 s ,或者(有一些静态的东西意味着)您是否必须从所有实例中相互排除并发s ? XslCompiledTransform
Load()
Load()
xslt-1.0 - XSLTCompiled 转换不支持文本文件的 XSLT 格式
使用 XSLT Compiled Transform 时,我无法将输出完全格式化,它总是会去除所有空格并且不是人类可读的形式。
但是,如果我通过 Visual Studio XSLT 调试器运行相同的转换,则输出会整齐地缩进。这是我的代码的样子:
转换将创建一个文本文件,Visual Studio 的 XSLT 调试器在保留输出格式方面有何不同?
我已经看过这个链接:XSLT Transform not indenting proper
当我输出到文本时,这不适用于我。我应该使用 Stream 以外的东西吗?
我的示例 XSLT:
预期输出:
使用 XSLT 编译转换的输出:
{Start:Value1value2End:}
Visual Studio XSLT 调试器为我提供了预期的输出格式,但 XSLT Compiled 转换去除了所有空格和换行符。
c# - XslCompiledTransform 去除 CDATA 中的换行符而不替换它们
我有这个数据的源xml:
我正在使用 XslCompiledTransform 用这个 xslt 对其进行转换:
所以 Body 字段应该不变地通过。执行转换的 C# 代码如下:
这种转换的结果是:
如您所见,CDATA 和换行符都已被删除。在这个阶段删除 CDATA 是可以的,但我需要保留换行符。无论我使用NewLineHandling
和NewLineChars
设置的哪种组合(或者,实际上,如果我完全省略它们),我都会得到相同的结果。
还有什么我需要做的吗?