问题标签 [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.
xslcompiledtransform - 需要简单英语的 XslCompiledTransform 信息
有没有人有任何链接来解释 XSLCompiledTransform 的正确实现?谢谢
c# - 使用 XslCompiledTransform 时,为什么 resolve-QName() 是未知的 XSLT 函数?
我尝试使用从W3.org WSDL 1.1 到 WSDL 2.0 转换器的 XSLT 2.0 样式表将 WSDL 1.1 转换为 WSDL 2.0 。
我正在使用 XslCompiledTransform 在 .NET (C#) 中工作。
任何人都知道为什么我得到“resolve-QName() is an unknown XSLT function”异常?
任何解决方法?
谢谢
.net - 在 .NET 中,如何将 UTF-16 XMLDocument 写入带有 BOM 的字符串
我正在使用 xml 文档在 .NET 中即时构建XmlDocument 。然后我使用XslCompiledTransform的Transform()方法对其进行转换。
Transform() 方法引发异常,因为在流中发现了无效的编码字符。当我在 Visual Studio 中的 TextVisualizer 的帮助下将字符串复制/粘贴到Altova XmlSpy中时,它没有发现编码问题。
我尝试在文档中添加一个 UTF-16 标头以使其呈现为 UTF-16,并从结果文本中调用 Transform 导致它抱怨 BOM。下面是我使用的代码的简化版本。
因此,我将其写入这样的字符串:
我必须怎么做才能添加 BOM 或让 XslCompiledTransform.Transform 不关心 bom?
c# - XslCompiledTransform 和序列化
我正在尝试实现一些函数,这些函数将使用 XslCompiledTransform 将一个对象转换为另一个对象。
我找到了一些将对象序列化为 XML 字符串并将 XML 字符串反序列化为对象的实现。
另一个函数执行从 object1 到 obejbct2 的 XslCompiledTransform。
为了生成 XSLT 文件,我使用了 Altova MapForce,只加载了序列化对象的 XML 并映射了一些属性。
现在解决问题:
- 首先我注意到 XslCompiledTransform 不适用于 XSLT 2.0 版。有没有与 XSLT 2.0 一起使用的更新函数?也许一些设置?
- 其次,在尝试将 XML 反序列化为对象时出现异常:“反序列化 myObject 类型的对象时出错,输入字符串格式不正确。” 我不明白问题出在哪里。有没有人有做这种事情的示例代码?我在谷歌中找到的只是 HTML 代码的转换,而不是对象。
以下是功能:
谢谢分配,
暗里。
c# - XslCompiledTransform 输出为 XPathDocument
我正在尝试使用 XslCompiledTransform,并将输出用作 XPathDocument。
有任何想法吗?
.net - XslCompiledTransform 对 Infopath 造成困扰
我不是信息路径开发人员,这是我第一次真正遇到 XSLT。最近我不得不在一个项目上工作,我需要将上传到 Sharepoint 的 infopath 表单转换为 html。一旦进入 html,我们就可以使用任何第三方库来输出我们想要的任何所需/支持的格式。
我们在代码中所做的:
- 我们创建一个 XslCompiledTransform 对象。这是通过解析上传到 sharepoint 的 Xsn 然后使用其中的 Xsl 来完成的。我们使用 View1.xsl。这里没有问题发生。
- Xml 表单作为流返回到我们的转换方法,在该方法中,我们创建一个需要使用流应用转换的 XmlDocument。
- 然后,我们将 XmlDocument 连同为我们填充 StringWriter 对象的 XmlTextWriter 对象一起传递给 transform() 方法。然后我们可以使用 StringWriter 将 html 作为字符串或流提供给我们,并将其传递给第三方库以更改为任何格式,例如 PDF/MHT 等...
改造后出现的问题:
- 我失去了日期格式。最初设置为 1-12-2009 的日期将变为 2009-1-12
- 我丢失了图像,而不是图像,我们得到带有“X”的空图像占位符。
- 我失去了主细节部分。
- 所有 html 控件都通过。我目前将 htmlstream 转换为字符串,并有一个通用方法可以过滤掉任何不需要的 html。我的代码还有一部分会过滤掉下拉列表中的选定值。这样做我遇到了一个场景,即 html 中没有“Selected”属性,但在下拉列表中选择了一个值。这整个字符串解析不是优雅的,它是一个黑客。有一个更好的方法吗?
- 如果 XSN 文件中有多个视图,我如何检测视图。
- 是否有一种更简单的转换方法,其中传递 xml 文档就足够了,类似于 XmlForm.CurrentView.Export() 方法来处理我的特定场景。
任何建议,指针等将不胜感激。我很高兴发送原始 Xml 和转换后的 Html 以及我的方法清理后留下的 Html。
提前致谢。
穆罕默德。
c# - 通过 .NET 将参数传递给 XSLT 样式表
我正在尝试将参数传递给 XSLT 样式表,但是当使用 XSlCompiledTransform 转换文档时,我得到的只是一个空的 xml 文档。
这是用于添加参数的C#方法(在添加了人们的建议后)
这是样式表。我传入的参数是'Boss_ID'
我不能发布所有输入文档,因为它是机密信息,但这里有一个简短的净化版本
任何人都可以帮忙吗?
谢谢
xslt - 动态 XSL 文件
我有 3 个 XSL 文件,其中包含指向 C:\templates\Test\file.pdf 之类的路径
这条路径并不总是相同的,而不是在 XSL 中硬编码,我希望路径 C:\templates\test\ 被标签 [BASEPATH] 替换,当我阅读在 xsl 文件中放入 XSLTransform 对象(是的,我知道它已被弃用,我可能会同时移至 XSLCompiledTransform),我希望将标签 [BASEPATH] 替换为 web 文件夹的绝对文件路径(或 Server.MapPath("~") 在 .net 中的样子)
我想我可以制作一个 XSLLoader aspx 页面,该页面通过查询字符串获取 XSL 文件的名称,然后通过 xml 内容类型返回 XSL 文件。当我尝试这个时,我得到一个 503 错误,所以我不确定你是否可以将这样的 url 传递给 XSLTransform.Load 方法。
有什么想法该怎么做?
c# - 从 XslCompiledTransform.Transform 输出中排除 XML 指令
我正在使用XsltCompiledTransform
将一些 XML 转换为 HTML 片段(不是完整的 HTML 文档,只是我将包含在其他地方生成的页面中的 DIV)。
我正在按如下方式进行转换:
我的问题是转换的结果总是以这个 XML 指令开头:
如何防止它出现在我的转换数据中?
编辑:
我告诉 XSLT 我不希望它输出 xml 声明
但这似乎对我的输出中出现的指令没有影响。
有趣的是,我的 XML 数据源和 XSLT 转换都将自己指定为UTF-8
not UTF-16
。
更新:
UTF-16 似乎出现了,因为我使用字符串(构建器)作为输出机制。当我将代码更改为使用 aMemoryStream
而不是 aStringBuilder
时,我的 UTF-8 编码将被保留。我猜这与类型的内部工作方式string
以及它如何处理编码有关。
c# - 具有多个 XML 输入文件的 XSLT 转换
是否可以对多个输入 XML 文件执行转换?
似乎无法使用XslCompiledTransform
,但是是否有另一种应用 XSLT 的方法?