2017-08-22 8 views
0

IAM有するXMLドキュメント以下、オートメーションPROJにXMLを使用して、IAMの私がランニングとしてラインインデックス6の出力または停止状態を取得する必要があるので、私が持っているXMLデータ抽出は、最後の10個のアルファベットを抽出する必要

<output> 
    <line index="1">Copyright 2010 BMC Software Ltd, Version: 1.6.2 </line> 
    <line index="2">Connecting to remote service...</line> 
    <line index="3">Connected to remote host.</line> 
    <line index="4">SERVICE_NAME: sqlagent$sqlinst </line> 
    <line index="5">TYPE: 10 WIN32_OWN_PROCESS </line> 
    <line index="6">STATE: 4 RUNNING </line> 
    <line index="7">(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)</line> 
    <line index="8">WIN32_EXIT_CODE: 0 (0x0)</line> 
    <line index="9">SERVICE_EXIT_CODE: 0 (0x0)</line> 
    <line index="10">CHECKPOINT: 0x0</line> 
    <line index="11">WAIT_HINT: 0x0</line> 
    <line index="12">Remote application exited with code: 0 </line> 
</output> 

次のXML sylesheet

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/"> 
    <xsl:variable name="vlength"> 
    <xsl:copy-of select="/output/line[@index=6]"/> 
    </xsl:variable> 
    <xsl:value-of select="string-length($vlength)"/> 
</xsl:template> 

<xsl:template match="/">     
<dayOfMonth> 
     <xsl:value-of select="substring(/output/line[@index=6],0,40)"/> 
</dayOfMonth> 

</xsl:template>  
</xsl:stylesheet> 

を使用何とか私は望ましい結果を得ていないのです、あなたは以下の 私を助けてくださいすることができます

スナップショットです

ので、私はランニングなどの出力を必要とするか、次を使用して、最後の

答えて

1

から その9つのアルファベットを停止:サブ(「文字列」、9)第九インデックスから - 出発、それは文字列の残りの部分を出力します。

<xsl:value-of select="substring(output/line[6],9)"/> 

enter image description here

1

文字列の最後の9つの文字の値を取得するには、次のXSLTを試してみてください。

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:variable name="status" select="output/line[@index = 6]" /> 
    <xsl:variable name="stringLength" select="string-length($status)" /> 
    <xsl:template match="/"> 
     <status> 
      <xsl:value-of select="normalize-space(substring($status, $stringLength - 9, $stringLength))" /> 
     </status> 
    </xsl:template> 
</xsl:stylesheet> 

これは以下のように必要な出力を提供

<status>RUNNING</status>