问题标签 [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.
xslt - XslCompiledTransform.Transform 将 """ 替换为实引号
做这样的事情:
在哪里
并且每次字符串 """ 替换为结果文件中的实引号。
无法理解为什么会发生这种情况......
.net - 在使用具有非默认命名空间和 XSL 文件的 XML 文件时,编写 .NET 可以理解的 XPath 表达式的正确方法是什么?
我知道当涉及到 .NET(或者至少是我正在使用的 .NET 版本)时,如果我想从具有非默认命名空间的 XML 文档中查询数据,我至少有两个选择:
最近我一直在使用 XSLCompiledTransform 类,并且在从具有非默认命名空间的 XML 文件中读取数据时遇到了类似的问题。
由于将编写实际 XSL 文件的人可能不知道他们需要使用 local-name() 函数,并且无法控制他们将使用的 XML 文件,所以我可以按代码顺序做些什么忍受 XSLCompiledTransform 类正确解释 (/node0/node1/node2/etc) 形式的 xpath 表达式?
xml - 这个 XSL 代码有什么问题?
当我应用转换时,我得到一个异常:表达式必须评估为节点集。
现在,如果我要使用 if 语句并将其放在第一个循环的级别,则可以正确应用转换。
如果问题在于表达式“$a0 | $a1 | $a2”不被视为节点集,我如何使用 XSLT 1.0 实现类似的目标?
c# - 使用 XSLT 和 C# 将图像 (Byte[]) 插入 word doc
我有一个看起来像这样的 xml 文档。
还有一个循环遍历每个作业的 XSLT 文件。我的问题是如何插入保存为 byte[] 的图像?它们仅保存在数据库中,并且不会为它们创建文件,因为它们是在应用程序中生成的。我的 C# 代码如下所示。
xslt - 当输入 XML 和转换 XSL 是字符串时,如何使用 XslCompiledTransform。如何将转换结果作为字符串获取?
我有一个字符串 inputXMLString,第二个包含名为 transformXSLString 的转换 XSL。它们都是正确格式化的xml。
如何在 C# 中使用 XslCompiledTransform 执行转换,以便将结果也作为字符串获取,比如说 resultXMLString?
.net - XslCompiledTransform 从 XmlDocument 到 XmlDocument
我有以下 VB.NET 代码,用于将一些 XML 转换为新的 XML,然后继续处理。这是一个一次性的过程,而不是多次完成的事情,所以据我所知,缓存没有效率。
该代码有效,但我看到了性能问题。我明白性能问题可能与 XSLT 有关。
我还发现开发人员遇到 XslCompiledTransform 性能问题的实例,尤其是在 64 位环境中,这可能是一个错误 ( http://connect.microsoft.com/VisualStudio/feedback/details/508748 )
可能的 XSLT 性能问题和 XslCompiledTransform 问题都不是我能控制的,但我的代码存在问题是可行的。我只是想确保我的转换方法是我需要的最有效的方法。
有人能指出我的代码有任何问题吗?
编辑:这是一次性转换,所以没有循环。
xslt - XslCompiledTransform 因堆栈溢出而失败
我有一个带有 805 模板的大型 XSLT 文件,根据系统和环境,该文件会因堆栈溢出而失败。
开发环境是 Windows 7、InfoPath 2010 和 C#。尽管安装了 .NET 4.0,但此版本的 InfoPath 使用 .NET 2.0。
正在使用的例程是:
我可以看到一些可能性:
- 增加“transform.Load”命令可用的内存
- 启动一个具有更多内存的单独线程
- 启动一个单独的线程并使用“msxsl.exe”执行转换(始终有效)
- 将 XSLT 文件拆分为更小的部分并多次执行转换
有人对选择哪个选项有建议吗?或者有什么其他建议?
保罗
所讨论的 XLST 文件从 XML 文件中获取一些元素,更改一些元素的名称,然后生成另一个 XML 文件。大约有 800 个元素,每个元素都有自己的模板。
此代码显示了 XSLT 文件开头的三个模板和两个用于复制元素的模板:一个用于按原样复制元素,另一个用于更改元素的名称。所有后续模板都以这两种方式之一进行格式化。
这种语法是否导致递归,或者是模板的数量导致堆栈溢出。(通过在新线程中运行此转换,我们已经避免了这个问题,但也许没有解决它。)
xml - 在 Dynamics AX 中将 XML 导出为 .plain 文本文件
这是关于这个线程中的帖子。 http://microsoft.public.axapta.programming.narkive.com/32IFWvdU/dax-4-0-aif-only-xml-format-possible-for-outbound-file
我正在尝试在 AX 2012 中做同样的事情。我在这篇文章中不理解的地方是它说:“在新适配器的 writefile 方法中,您可以进行 xslt 转换并获得 csv .. ……”。如何在 AX 2012 的代码中进行 xslt 转换。我尝试使用 XSLCompiledTransform 类,但它只支持 xml 并且仅用于将 XML 转换为 XML。任何建议将不胜感激。
c# - XslCompiledTransform 换行符,我该如何输入它们?
使用以下代码:
我有一些来自数据库的字符串,其中包含<br />
一行返回(如在其他地方使用的)。无论我用 Environment.NewLine、\n 等替换它,它都不会在转换后的文档中放置换行符。
编辑
用 \r\n 替换换行符并按照以下建议进行更改:
仍然可以创建转换后的文档,但仍然没有将任何内容放到新行上。作为参考,我将使用 .doc 扩展名重命名转换后的文档以在 word 中打开,XML 有换行符,但在 Word 中打开时没有。
c# - xslcompiledtransform 输出函数名和命名空间
背景:我正在开发一个 XSLT 来将 XML 文档转换为 rtf 文档。XSLT 有一个名为 GetImageString 的 msxsl:script 函数,它返回给定图像文件的字符串表示形式,因此我可以将图像嵌入 rtf 文档中。
问题:当 xslCompiledTransform 与 xmlWriterSettings 和 XmlWriter 一起使用时,转换的输出 (xsl:output method="text") 包括脚本函数的名称 (GetImageString) 以及包含在XSL 文件。如果我在没有 xmlWriterSettings 和 XmlWriter 类的情况下使用 XslCompiledTransform,则输出是正确的,除了在文件顶部插入 BOM(字节顺序标记),这会混淆(至少)MS Word rtf 阅读器。因此,为了抑制 BOM,我必须使用 XmlWritterSettings(和 XmlWriter)类,但是当调用嵌入式 c# 代码时输出不正确。
这是我的 xsl 文件的片段:
这是调用转换的 c# 程序:
这是有问题的输出的样子:
{\rtf1\ansi {\fonttbl {\f1 Times New Roman;} } {\pict\wmetafile8 GetImageString xmlns:xpp="http://www.sdl.com/xpp" >xmlns:w="http:// schemas.openxmlformats.org/wordprocessingml/2006/main" >xmlns:v="urn:schemas-microsoft-com:vml" xmlns:msxsl="urn:schemas-microsoft-com:xslt" >xmlns:rend="urn :rend-scripts" 49492A00BC480000803...
(GetImageString 和namespcaes 列表周围有一个< 和一个>,但我无法弄清楚如何将其格式化为问题)
任何人都知道如何调用 msxsl:script 函数而不输出函数名称和额外的命名空间(并且没有 BOM)?