草庐IT

.net - 在 Asp.Net Core 中加载 XSLT

如何在ASP.NETCore中从字符串加载XSLT文件?在完整的.NETFramework中,我可以使用:XslCompiledTransformobjXSLTransform=newXslCompiledTransform();objXSLTransform.Load(strXSLTFile); 最佳答案 正如我提到的here详细来说,您需要将您的.NETCore1.x应用程序升级到.NETCore2.0,因为.NETCore2.0实现.NETStandard2.0,它再次支持System.Xml.Xsl命名空间。您将能够再次使用

javascript - 有没有办法让浏览器忽略或覆盖 xml-stylesheet 处理指令?

我正在尝试编写一个小书签来帮助一些QA测试人员在遇到问题时提交有用的调试信息。目前我可以将window.location设置为提供此调试信息的URL,但此资源是一个带有xml-stylesheet处理指令的XML文档。如果测试人员能够看到纯文本形式的原始XML数据,或者IE和Firefox的默认XML呈现,实际上会更方便。有谁知道使用InternetExplorer或Firefox禁用或覆盖XML文档中提供的xml-stylesheet指令的方法?编辑:我已经在这个问题上悬赏了。要求:仅客户端代码,不允许用户干预需要IE和Firefox的解决方案(它们可以是不同的解决方案)禁用样式表处

xml - XSL : Counting Previous Unique Siblings

好的,我想应用一个XSL样式表来计算先前的唯一“ROLE”节点,并吐出以下输出格式@name当前节点之前的唯一ROLE节点数。我已经在应该很容易实现的事情上浪费了几个小时。我尝试以多种方式实现这一点,包括Muenchian方法、if/with变量(不能增加变量)、将模板应用到模板等,但均无济于事。我有以下XML:输出示例:TESTER1PARENT12PARENT12PARENT12PARENT23PARENT23PARENT34PARENT45TESTROLE6获取唯一先行节点的计数是我的问题。任何帮助将不胜感激 最佳答案 使用X

c# - 使用 C# 对大型 XML 文件进行 XSLT 转换

我有一些非常大的XML文件(800MB到1.5GB)。我需要对其应用XSLT。我能够阅读它XMLTextReader。当我应用XSLT转换时,出现SystemOutOfMemory异常。我的代码看起来像;staticvoidMain(string[]args){XDocumentnewTree=newXDocument();XmlTextReaderoReader=newXmlTextReader(@"C:\Projects\myxml.xml");using(XmlWriterwriter=newTree.CreateWriter()){XslCompiledTransformoTr

java - 如何在 javax.xml.transform.Transformer.transform 的输出中保留输入声明的编码? (例如避免将 UTF-16 更改为 UTF-8)

假设这个输入XML编写这些代码行:StreamSourcesource=newStreamSource(newStringReader(/*theaboveXML*/));StringWriterstringWriter=newStringWriter();StreamResultstreamResult=newStreamResult(stringWriter);TransformerFactory.newInstance().newTransformer().transform(source,streamResult);returnstringWriter.getBuffer().

xml - 如何在 XSLT 中包装文本以适应窗口

我正在使用XSLT2.0从XML中提取数据。数据有很长的行,我想通过自动换行使它们适合窗口大小。在XSLT中可以吗? 最佳答案 您可以使用标准XSLT2.0函数unparsed-text()直接在XSLT2.0代码中读取文本文件。然后就用:replace(concat(normalize-space($text),''),'(.{0,60})','$1 ')解释:这首先规范化空白,删除前导和尾随纯空白字符序列,并用单个空格替换任何内部此类序列。然后规范化的结果用作标准XPath2.0函数的第一个参数replace().匹配模

xml - XSLT 1.0 排序元素

我有以下XML文档:ClutchGearboxCylinderheadStarterAirboxInletmanifold以及以下XSLT文档:应用后,我得到了预期的以下输出,但未对其进行排序:ClutchGearboxCylinderheadStarterAirboxInletmanifold为什么是没有被应用? 最佳答案 原因在这里:这会将模板应用到当前节点(objects)的子节点(object),并根据它们的第一个object的字符串值对它们进行排序>child。但是在提供的XML文档中,object没有任何object子级

xml - 如何仅使用 XInclude 在 XML 上应用 XSLT

我有这个XML文件:并且我预计它应该在处理时生成引用的远程XML文件http://www.w3schools.com/dom/books.xml。为此,我创建了这个XSL文件:在XSL转换之后,我希望从引用的XML文件中获得带有标题节点的XML输出。然而它并没有发生,转换只是产生了一个空文件。我怀疑未执行XInclude指令。那么,如果可能的话,我该如何在XincludedXML文件上应用XSLT? 最佳答案 在评论中,OP要求在Copyxmldocument'simagesindifferentsourcelocationsint

c# - XslCompiledTransform和自定义XmlUrlResolver:“具有相同键的条目已存在”

有没有办法调试由自定义xmlurlresolver从数据库加载的xslt文档,或者有人知道下面的错误消息是关于什么的?我有一个导入公共xslt文档的xslt样式表:方案由从数据库加载xslt文档的自定义XmlResolver处理,但我得到一个错误:已存在具有相同密钥的条目。xsl:import引用的公共xslt文档包含一些公共xslt模板,每个模板都有一个唯一的名称。将xslt文档从本地文件系统移动到数据库后,便开始出现此错误。当使用指向本地文件的默认导入方案以及从本地文件系统加载xslt文档时,不会发生错误。我还尝试在创建XslCompiledTransform实例时启用调试,但不知

xml - 基于属性值创建父子元素并抑制输出中的重复元素

作为XSLT的新手,我正在尝试使用XSLT1.0转换以下描述对象的XML:应遵循以下规则以获得所需的输出:对于每个不包含分隔符“.”的“属性”元素在“名称”属性中,将“名称”属性转换为子元素并选择其“值”属性的值。对于每个确实包含分隔符“.”的“属性”元素在“名称”属性中,创建:a)在“Name”属性中使用“substring-before”分隔符的父元素,以及b)在“Name”属性中使用“substring-after”分隔符的子元素,并选择其“Value”属性的值。(2)的附加规则:a)如果要创建的“Name”属性中的“substring-before”存在于预定义数组中并且“Va