2014-10-14 3 views
0

일반적으로 태그에는 XML 및 \ XML이 포함되는 경우가 있습니다. 일부 노드에는 xml /이 포함됩니다.어린이가없는 요소를 처리하지 마십시오

<xsl:for-each select="NTC_LIGHTLISTPRODUCT"> 
    <xsl:for-each select="RACON"> 
    CIAO 
     <xsl:for-each select="RACON_GROUP"> 
      <xsl:value-of select="."/> 
     </xsl:for-each> 
     <xsl:for-each select="RACON_PERIOD"> 
      <xsl:value-of select="."/> 
     </xsl:for-each> 
     <xsl:for-each select="RACON_RANGE"> 
      <xsl:value-of select="."/> 
     </xsl:for-each> 
    </xsl:for-each> 
</xsl:for-each> 

이것은 출력된다 : 이것은 내 XSLT 1.0

<NTC_LIGHTLISTPRODUCT> 
    <RACON> 
     <RACON_CATEGORY>Racon</RACON_CATEGORY> 
     <RACON_GROUP>Mo(M)</RACON_GROUP> 
     <RACON_PERIOD>30s</RACON_PERIOD> 
     <RACON_RANGE>10M</RACON_RANGE> 
     <RACON_WAVE_LENGTH>0.03-X,0.10-S</RACON_WAVE_LENGTH> 
    </RACON> 
</NTC_LIGHTLISTPRODUCT> 
<NTC_LIGHTLISTPRODUCT> 
    <RACON/> <-- This is the problem --> 
</NTC_LIGHTLISTPRODUCT> 

:

는 티 내 XML이다

챠오 모 (M) 30s10M
챠오

RACON이 있으면/아무것도 쓰지 마라. 이 프로세스는 RACON/RACON 구조체에 대해서만 실행되며 RACON/구조체에 대해서는 실행되지 않습니다.

답변

1

나는 아이들이없는 요소 인 RACON을 처리하고 싶지 않다고 생각합니다.

<xsl:for-each select="RACON[*]"> 

을 아니면 좀 더 구체적으로 할 수 있고, 당신이 출력하고자하는 하위 요소 중 하나 이상을 포함 확인 :이 경우,이에 xsl:for-each을 변경합니다. 당신이 더 가고 싶어한다면, 당신은 자식 요소 중 하나 이상을 확인할 수 있습니다

<xsl:for-each select="RACON[RACON_GROUP or RACON_PERIOD or RACON_RANGE]"> 

을 그리고있다가

<xsl:for-each select="RACON[normalize-space(RACON_GROUP) or normalize-space(RACON_PERIOD) or normalize-space(RACON_RANGE)]"> 
+0

좋은 적어도 일부 텍스트 : 예를 들어. 매우 흥미로운 해결책. 감사. –

관련 문제