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_Nodes - Fatal编程技术网

XSLT显示所有XML标记内容

XSLT显示所有XML标记内容,xml,xslt,nodes,Xml,Xslt,Nodes,我不熟悉使用XSLT。我希望在xsl格式的页面中以xml标记显示所有信息。我尝试过使用本地名称、名称等,但没有一个给我想要的结果 例如: <step bar="a" bee="localhost" Id="1" Rt="00:00:03" Name="hello">Pass</step> Pass 我希望能够打印出所有信息(bar=“a”,bee=“localhost”)以及通行证的值 如何使用xsl实现这一点 谢谢大家! <xsl:for-each sel

我不熟悉使用XSLT。我希望在xsl格式的页面中以xml标记显示所有信息。我尝试过使用本地名称、名称等,但没有一个给我想要的结果

例如:

 <step bar="a" bee="localhost" Id="1" Rt="00:00:03" Name="hello">Pass</step>
Pass
我希望能够打印出所有信息(
bar=“a”
bee=“localhost”
)以及
通行证的值

如何使用xsl实现这一点

谢谢大家!


<xsl:for-each select="attribute::*">   
  <xsl:value-of select="text()" />   
  <xsl:value-of select="local-name()" />   
</xsl:for-each>
<xsl:value-of select="text()" />   
<xsl:value-of select="local-name()" />   

如果只想返回值,可以使用XPath
//text()|@*

如果需要属性/元素名称和值,可以使用以下样式表:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>
  <xsl:strip-space elements="*"/>

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

  <xsl:template match="text()">
    <xsl:value-of select="concat('&lt;',name(parent::*),'> ',.,'&#xA;')"/>
  </xsl:template>

  <xsl:template match="@*">
    <xsl:value-of select="concat(name(),'=&#x22;',.,'&#x22;&#xA;')"/>
  </xsl:template>

</xsl:stylesheet>

通过您的输入,它将产生以下输出:

bar="a"
bee="localhost"
Id="1"
Rt="00:00:03"
Name="hello"
<step> Pass
bar=“a”
bee=“localhost”
Id=“1”
Rt=“00:00:03”
Name=“你好”
通过

您只需要属性值还是名称?(
bar=“a”
vs
a
)xsl,也就是说,如果我更改了名称空间前缀,它可能是:)我知道,但OP说它们是XSLT的新手,我只是指出了拼写错误。如果他们试图使用你的答案,可能会混淆OP。而且,元素的
值没有关闭;这可能也会引起混乱。在这种情况下,这个答案获得了一张赞成票,这有点令人惊讶。:-)该死的,我没有这么做-你知道当它给你的代码上色时,有时你会错过规则…哎呀