标签: msxsl

XSL:避免将命名空间定义导出到生成的XML文档

我想从一些XML文件中获取数据并将它们转换为新的XML文档.但是,我不希望在结果文档中发生XSLT中的命名空间定义.

换一种说法:

资源:

<Namespace:Root xmlns:Namespace="http://www.something.com">
Run Code Online (Sandbox Code Playgroud)

样式表:

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:Namespace="http://www.something.com">
Run Code Online (Sandbox Code Playgroud)

结果:

<resultRoot xmlns:Namespace="http://www.something.com">
<!--I don't want the Namespace definition above-->
Run Code Online (Sandbox Code Playgroud)

我正在使用msxsl进行转换.

xml xslt namespaces export msxsl

43
推荐指数
2
解决办法
5万
查看次数

使用xslt获取X位置的节点值

如何在不使用foreach的情况下在x位置使用xslt,节点值

<items>
<item1>x</item1>
<item2>x</item2>
<item3>x</item3>
</items>
Run Code Online (Sandbox Code Playgroud)

这在编程意义上解释:

<xsl:value-of select="Items/Item[2]"/>
Run Code Online (Sandbox Code Playgroud)

==================================================

只是为了扩展问题,在下面的xml中:

<items>
    <about>xyz</about>
    <item1>
       <title>t1</title>
       <body>b1</body>
    </item1>
    <item2>
       <title>t2</title>
       <body>b2</body>
    </item2>
    <item3>
       <title>3</title>
       <body>3</body>
   </item3>
</items>
Run Code Online (Sandbox Code Playgroud)

如何选择第二个项目标题.

xslt xpath msxsl xslt-1.0

9
推荐指数
1
解决办法
3万
查看次数

msxsl.exe的后继者?

我们打算将我们的框架从msxml4迁移到msxml6.我们在哪里使用msxsl.exe.它似乎只支持最高4.0的MSXML版本,因为命令行msxsl.exe -u 6.0版告诉我.是否有msxsl.exe的后继者?任何替代命令行处理器?

xslt msxsl msxml6

8
推荐指数
1
解决办法
1万
查看次数

如何传递参数并在我的xslt中使用它

我有一个xml文件和一个相关的xslt文件.我正在使用msxsl.exe,我需要传递一个参数作为命令行参数,并在我的xslt文件中使用它.我怎样才能做到这一点???

命令:

msxsl.exe country.xml sheet.xslt -o country_sheet.html p1="india"
Run Code Online (Sandbox Code Playgroud)

如何检索india我的xslt文件中的值?

xml xslt msxsl

8
推荐指数
1
解决办法
9751
查看次数

在msxsl中使用程序集和命名空间的问题

我有一个XSL转换,使用msxsl在C#中添加扩展方法.我有msxsl的以下设置:

<msxsl:script language="C#" implements-prefix="cs">
    <msxsl:assembly name="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <msxsl:assembly name="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    <msxsl:using namespace="System.Collections.Generic" />
    <msxsl:using namespace="System.Linq" />
    <msxsl:using namespace="System.Xml.Linq" />
Run Code Online (Sandbox Code Playgroud)

然后我将ac#函数作为扩展方法:

public int returnUniqueCount(string theCodeCollection) {
      // calculate and return the total number of distinct codes
      if (theCodeCollection.Length > 0) {
        string[] myObject = theCodeCollection.Split('|');
        string[] uniqueCollection = myObject.Distinct().ToArray();
        return uniqueCollection.Length;

      } else {
        return 0;

      }

    }
Run Code Online (Sandbox Code Playgroud)

基本上,只需要一个标记化的字符串,将其拆分,并对结果集进行计数,不包括重复项.

转换在服务器上运行正常,但是当我尝试对其进行分析时,我收到以下错误:

'System.Array' does not contain a definition for 'Distinct'
Run Code Online (Sandbox Code Playgroud)

我整个早上一直在反对这个,我只是没有看到它.有任何想法吗?

谢谢大家.

c# linq xslt msxsl

5
推荐指数
1
解决办法
894
查看次数

xml使用xsl合并两个文件?

我需要合并两个类似的xml文件,但只包含与常用标记匹配的记录,例如<type>在以下示例中:

file1.xml是

<node>
    <type>a</type>
    <name>joe</name>
</node>
<node>
    <type>b</type>
    <name>sam</name>
</node>
Run Code Online (Sandbox Code Playgroud)

file2.xml是

<node>
    <type>a</type>
    <name>jill</name>
</node>
Run Code Online (Sandbox Code Playgroud)

所以我有一个输出

<node>
    <type>a</type>
    <name>jill</name>
    <name>joe</name>
</node>
<node>
    <type>b</type>
    <name>sam</name>
</node>
Run Code Online (Sandbox Code Playgroud)

在xsl中执行此操作的基础是什么?非常感谢.

xml xslt msxsl

2
推荐指数
1
解决办法
4560
查看次数

标签 统计

msxsl ×6

xslt ×6

xml ×3

c# ×1

export ×1

linq ×1

msxml6 ×1

namespaces ×1

xpath ×1

xslt-1.0 ×1