Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要XSLT从xml生成输出_Xml_Xslt - Fatal编程技术网

需要XSLT从xml生成输出

需要XSLT从xml生成输出,xml,xslt,Xml,Xslt,我想创建xslt以创建类似以下内容的输出: 维沙尔维尔马 兰维杰·萨海 贾格米特·辛格试试这个 <?xml version="1.0" encoding="ISO-8859-1"?> <!-- Edited by XMLSpy® --> <Company> <EmployeeDetail> <Employees> <name>Vishal</name> <

我想创建xslt以创建类似以下内容的输出:

维沙尔维尔马 兰维杰·萨海 贾格米特·辛格试试这个

    <?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<Company>

    <EmployeeDetail>
<Employees>
        <name>Vishal</name> 
        <name>Ranvijay</name> 
        <name>Jagmit</name> 
</Employees>
<Employees>
        <name>Verma</name> 
        <name>Sahay</name> 
        <name>Singh</name> 
</Employees>
    </EmployeeDetail> 

</Company>

我在if语句中的每个名称后面添加了一个空格。if语句应该防止尾随空格。

这是否足够,或者顺序是否重要

<xsl:for-each select="//Employees//name">
 <xsl:text><xsl:value-of select="."/></xsl:text>
 <xsl:if test="position() != last()" />
   <xsl:text> </xsl:text>
 </xsl:if>
</xsl:for-each>
此XSLT:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">
    <xsl:output method="text"/>

    <xsl:template match="@*|node()">
        <xsl:apply-templates select="@*|node()" />
    </xsl:template>

    <xsl:template match="name">
        <xsl:value-of select="." /><xsl:text> </xsl:text>
    </xsl:template>
</xsl:stylesheet>
说明:

第一个模板与顶级元素匹配。找到它后,XSLT处理器将被指示将模板应用于第一个元素的所有子元素。 第二个模板匹配任何元素,如果XSLT中只有另一个对的调用,则该元素匹配第一个元素的任何子元素。在找到这样一个元素后,处理器输出当前元素的值、一个空格和相邻元素的值,即与当前元素位于同一位置但在第二个元素上下文中的元素。 注意&160;-这将输出一个空格,除非我们已经到达最后一个元素,从而防止尾随空格。
您好,谢谢您的回复,我仍然没有得到正确的输出VishalRanvijayJagmitVermaSahaySingh,但我需要Vishal Verma Ranvijay Sahay Jagmit Singhi感谢您的回复,我仍然没有得到正确的输出VishalRanvijayJagmitVermaSahaySingh,但我需要Vishal Verma Ranvijay Sahay Jagmit Singh
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output omit-xml-declaration="yes" indent="yes" method="text"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="/*">
    <xsl:apply-templates select="*/*[1]/*"/>
  </xsl:template>

  <xsl:template match="*">
    <xsl:variable name="vPos" select="position()"/>
    <xsl:if test="position() &gt; 1">&#160;</xsl:if>
    <xsl:value-of
      select="concat(., 
                     ' ',
                     ../following-sibling::*/*[position() = $vPos])"/>
  </xsl:template>

</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Edited by XMLSpy® -->
<Company>
  <EmployeeDetail>
    <Employees>
      <name>Vishal</name>
      <name>Ranvijay</name>
      <name>Jagmit</name>
    </Employees>
    <Employees>
      <name>Verma</name>
      <name>Sahay</name>
      <name>Singh</name>
    </Employees>
  </EmployeeDetail>
</Company>
Vishal Verma Ranvijay Sahay Jagmit Singh