草庐IT

xml - 不同的元素和分组

给定以下xml片段:file1desc1file1desc2file2desc1我需要制作类似的东西file1des1desc2file2des1我试过使用key,比如但我真的不明白如何将它带到下一步,或者这是否是正确的方法。 最佳答案 这个解决方案比Richard提出的解决方案更简单、更高效,同时更通用:这个转换:应用于提供的XML文档时:file1desc1file1desc2file2desc1产生想要的结果:file1desc1desc2file2desc1请注意第一个的简单匹配模式以及如何使用第二个,我们找到所有“Desc

xml - XSLT:如何从我的结果中排除空元素?

我有一个相当复杂的xslt工作表,它使用模板将一种xml格式转换为另一种格式。但是,在生成的xml中,我需要排除所有空元素。这是怎么做到的?这是基本xslt的样子:FARGO需要添加什么,以便排除空元素?例如,生成的xml中的一个片段:XXXXYYYYTR/BAL/ISTFARGO000000020.000road这确实需要:XXXXYYYYTR/BAL/ISTFARGO000000020.000road换句话说:空元素应该被排除在外。 最佳答案 提供的(部分)XSLT代码很好地说明了XSLT反模式。几乎总是尽量避免使用.下面是一个

xml - XSLT:将节点向上移动一级

我想知道在满足某些条件的情况下如何使用XSLT将节点向上移动一级。举个例子,看看下面的XML源代码:这是我作为起始情况的XML。需要说明的是,节点名称“Settings”、“String”、“Boolean”是我们定义的特殊节点。问题是“字符串”节点内不允许“bool”节点。这就是为什么我必须将那些“bool”节点向上移动。所需的XML如下所示:XSLT还必须处理每个具有兄弟bool节点的字符串节点,而不管其在XML树中的位置。到目前为止,我了解到您必须首先使用“身份规则”复制所有XML,然后为所需的转换应用一些特殊规则:我正在努力解决的问题是将所有“字符串”节点的sibling“bo

xml - XSLT 计算子节点

我很少使用XLST,当我尝试计算父节点中的子节点时会得到令人困惑的结果。编辑:XML的结构如下:Someone**4.5**Somereview.Anotherreview.Anotherone**2**Blah,grieve,blah.Blah,grrrrr,blah.Blah,goodgrrrrr,blah.......模板(简体)如下:******()**我没有通过这种方法获得正确的子节点数。除了count(review)之外,我还尝试了count(descendant::review)和几个xPath变体。我知道我错过了一些简单的东西-但是什么? 最

xml - 如何使用 XSLT 合并两个 xml 文件

我有两个xml文件,需要使用XSLT将其合并为一个文件。第一个XML是(原始的):fl2011-01-021aaaXXX2bbbYYY第二个XML(更新数据)是这样的:fl2012-05-022newNamenewContent3cccZZZ所需的合并结果-使用第二个XML更新第一个:fl2012-05-021aaaXXX2newNamenewContent3cccZZZ我已经搜索了stackoverflow,但仍然找不到答案。感谢您的帮助。 最佳答案 与我为您的上一个问题提供的答案几乎相同,并进行了修改以匹配您的新XML格式:当在

xml - 转换内容在 CDATA 中的 xml 元素

我有一个如下所示的xml片段welcometomypagethisisparaph]]>我希望能够改变...toWelcometomypage...tothisisparagraph你知道我如何在xslt1.0中做到这一点吗 最佳答案 运行两个转换怎么样。通过1.)将产生:welcometomypagethisisparaph通过2.)产生:welcometomypagethisisparaph 关于xml-转换内容在CDATA中的xml元素,我们在StackOverflow上找到一个类

C# 如何对内存对象执行实时 xslt 转换?

我有一个接受2个参数的函数:1=XML文件,2=XSLT文件,然后执行转换并返回生成的HTML。函数如下://////WillapplyanXSLTstyletoanyXMLfileandreturntherenderedHTML./////////ThefilenameoftheXMLdocument./////////ThefilenameoftheXSLdocument./////////TherenderedHTML.///publicstringTransformXml(stringxmlFileName,stringxslFileName){varxtr=newXmlTex

xml - 如何根据xslt中以 "Heading"开头的属性值选择xml元素?

每当我发现其属性值以“标题”开头的xml元素匹配时,我想调用我自己的xsl模板。我如何在Xslt中进行此查询。例如:因此,我想查询w:pStyle->w:val仅以“标题”开头。 最佳答案 您可以通过使用以开头的XPath字符串函数来实现这一点这只是匹配所有w:pStyle节点,其中w:val属性以单词Heading开头。然后,您可以将自己的代码放入此模板中。这是一个如何在XSLT身份转换中使用它的示例上面的XSLT,除非您确实在它说的地方添加了您自己的代码,否则将从XML中删除所有数学运算w:pStyle元素。

xml - "bad practice"对XML文档中的换行敏感吗?

我正在生成一些XML文档,当涉及到地址部分时,我有如下所示的片段:15SampleStExampleBaySomeCountry我拥有的用于将其转换为XHTML的XSLT具有一些时髦的递归模板,可将字符串中的换行符转换为标记。一切正常;但是依赖XML文档中的换行符是否被认为是“不好的做法”?如果是这样,是否建议我改为这样做?15SampleStExampleBaySomeCountry似乎在我的文本可能是多行的每个地方都用这样的标签来包装真的很尴尬.. 最佳答案 依赖换行符通常被认为是不好的做法,因为它是一种区分数据的脆弱方式。虽然

xml - 在 XSLT 中获取父元素

我有这样一个XML:110020030021002003003100200300和XSL:如何在PurchaseOrderLine中获取当前父元素值(PurchaseOrder\ID)? 最佳答案 如果您希望您的模板是原子的(隔离和可重用),您应该以这种方式引用父节点。相反,在调用模板时,传入您希望能够使用的引用。这样您就可以将此模板用于相同类型的节点,即使它具有不同的上下文/父节点(只要您仍然可以加载参数)。现在在您的PurchaseOrderLine模板中,您可以引用$PurchaseOrder变量。