2013-06-20 3 views
0

저는 XSLT에서 초보자입니다. 나는이 XML을 변환하려고 :XSLT를 사용하여 xml을 xml로 변환

<A> 
    <B> 
     <C> 
      <A id="1"> 
       <I/><T/> 
      </A> 
      <A id="2"> 
       <I/><T/> 
      </A> 
     </C> 
     <C> 
      <A id="3"> 
       <I/><T/> 
      </A> 
      <A id="4"> 
       <I/> <T/> 
      </A> 
     </C> 
    </B> 
</A> 

같은 뭔가 : 당신이 여기에서 볼 수 있듯이

<A> 
    <B> 
     <A id="1"> 
      <I/> <T/> 
     </A> 
     <A id="2"/> 
      <I/> </T> 
     </A> 
     <A id="3"> 
      <I/> <T/> 
     </A> 
     <A id="4"/> 
      <I/> <T/> 
     </A> 
    </B> 
</A> 

나는 'B'태그 블록에서 2 'C'태그 블록을 가지고있다. 나는 'C'태그를 없애고 'B'태그 아래에 모든 하위 'A'태그를 추가하고 싶습니다. 'A'안에 'I'와 'T'태그가 필요합니다 ..

누군가 나를 도울 수 있습니까? 이것 하나?

+1

이 정말 쉽게해야합니다. 먼저 직접 시도하십시오. –

+0

별도로 4 개의 A 태그를 선언해야합니까? ??? A [1], A [2] 등등? – crtn

+0

xslt i dentity 변형 (예 : http://en.wikipedia.org/wiki/Identity_transform#Using_XSLT)을 찾아서 xsl : copy없이 applique-templates 만 일치하는 B를 추가하십시오. –

답변

0

이안 말한다 그대로 :

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

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

    <xsl:template match="C"> 
     <xsl:apply-templates/> 
    </xsl:template> 

</xsl:stylesheet> 

+0

torazaburo 감사합니다 .. 질문이 있습니다. 태그에 이라고 말하면 어떻게 변환 할 수 있습니까 ? 태그 내의 속성 이름과 태그 이름을 변경하려고합니다. – crtn

+1

각 사례마다 새 템플릿을 추가하기 만하면됩니다. 예를 들어,

+0

안녕하세요, .. 그냥 다른 질문 .. 이제 4 "A"태그가 있습니다. 어떻게 3 번째와 4 번째 "A"태그에 액세스 할 수 있습니다 .. 각 태그마다 다른 속성 값을 설정해야하는 경우 .. – crtn

관련 문제