小编joy*_*oy 的帖子

使用 xslt unix 将 xml 转换为简单文件

我有一个 xml 文件 (test.xml),如下所示:

<hudson>
<job>
<name>cedge</name> 
</job>
<job>
<name>techM</name> 
</job>
<job>
<name>infy</name> 
</job>
<job>
<name>DevP</name> 
<job>
<name>line</name> 
<nextBuildNumber>14</nextBuildNumber> 
</job>
<job>
<name>ment</name> 
<nextBuildNumber>85</nextBuildNumber> 
</job>
<job>
<name>FreeS</name> 
<nextBuildNumber>96</nextBuildNumber> 
</job>
<job>
<name>test</name> 
</job>
</job>
<job>
<name>Email</name> 
</job>
<job>
<name>investigate</name> 
<nextBuildNumber>26</nextBuildNumber> 
</job>
<job>
<name>Java</name> 
</job>
<job>
<name>Tools</name> 
</job>
</hudson>
Run Code Online (Sandbox Code Playgroud)

需要输出文件,例如:

"line" "14"
"ment" "85"
"FreeS" "96"
"investigate" "26"
Run Code Online (Sandbox Code Playgroud)

尝试使用以下方法

 xsltproc x.xslt test.xml 
Run Code Online (Sandbox Code Playgroud)

使 x.xslt 像这样:

 <xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="//job">
"<xsl:value-of select="name"/>" = "<xsl:value-of select="nextBuildNumber"/>"
 </xsl:template>
 </xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

只得到

 "investigate" = "26"
Run Code Online (Sandbox Code Playgroud)

以及空白值。如果没有从“job-Devp”标签获取数据,我们将不胜感激。

xml unix xslt bash shell

6
推荐指数
1
解决办法
6961
查看次数

标签 统计

bash ×1

shell ×1

unix ×1

xml ×1

xslt ×1