相关疑难解决方法(0)

使用XSLT解析文本文件

我有一个像这样结构的纯文本文件:

!ITEM_NAME
Item value
!ANOTHER_ITEM
Its value
...
Run Code Online (Sandbox Code Playgroud)

是否可以使用类似于XSLT的文件:

<?xml version="1.0" encoding="UTF-8" ?>
<document>
  <ITEM_NAME>Item value</ITEM_NAME>
  <ANOTHER_ITEM>Its value</ANOTHER_ITEM>
  ...
</document>
Run Code Online (Sandbox Code Playgroud)

编辑

对不起,我之前没有明确说过.我试图使用Visual Studio 2005 XSLT引擎完成此转换.我已经尝试了两种提供的解决方案,我确信这是正确的.但Visual Studio 2005不知道未解析的文本功能.

xml xslt text visual-studio-2005

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

使用XSLT 1.0进行标记和排序

我有一个分隔的字符串(在我下面的例子中用空格分隔),我需要对它进行标记,排序,然后重新连接在一起,我需要使用XSLT 1.0完成所有这些操作.我该怎么办?我知道我需要以xsl:sort某种方式使用,但到目前为止我所尝试的一切都给了我一些错误.

例如,如果我在此帖子的底部运行代码,我会得到:

草莓蓝莓橙色覆盆子石灰柠檬

如果我想要这样做,我该怎么办?:

蓝莓柠檬石灰橙色覆盆子草莓

请注意,我正在使用XSLT 1.0.

这是代码,它基于Jeni Tennison的代码.

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="tokenize1.xsl"?>
<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <xsl:call-template name="tokenize">
    <xsl:with-param name="string" select="'strawberry blueberry orange raspberry lime lemon'" />
  </xsl:call-template>
</xsl:template>

<xsl:template name="tokenize">
  <xsl:param name="string" />
  <xsl:param name="delimiter" select="' '" />
  <xsl:choose>
    <xsl:when test="$delimiter and contains($string, $delimiter)">
      <token>
        <xsl:value-of select="substring-before($string, $delimiter)" />
      </token>
      <xsl:text> </xsl:text>
      <xsl:call-template name="tokenize">
        <xsl:with-param name="string" 
                        select="substring-after($string, $delimiter)" />
        <xsl:with-param name="delimiter" select="$delimiter" />
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <token><xsl:value-of select="$string" /></token>
      <xsl:text> </xsl:text> …
Run Code Online (Sandbox Code Playgroud)

sorting xslt tokenize xslt-1.0

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

标签 统计

xslt ×2

sorting ×1

text ×1

tokenize ×1

visual-studio-2005 ×1

xml ×1

xslt-1.0 ×1