2014-04-09 6 views
0

복잡한 xml 데이터를 작성 중이고이 XML을 자체 구조에 맞게 변경하려고합니다.XML 데이터 변환 오류

샘플 xml 및 xsl 코드는 다음과 같습니다. 이 xmlns="http://www.xasdasdasdasd.com/" 부분을 삭제하면 작동합니다. 당신이 발견 한 같은 이름 공간에 XML을 두는

--xml

<export xmlns="http://www.xasdasdasdasd.com/"> 
<extract date="2007-12-05"> 
    <counters> 
     <counter category="dispatcher" name="server1"> 
      <runtime>6</runtime> 
      <queue>3</queue> 
      <maxrequest>8</maxrequest> 
      <color>blue</color> 
      <host> 
       <name>svo2555</name> 
       <path>\\dispatcher</path> 
       <lastaccessed>2007-02-03</lastaccessed> 
      </host> 
     </counter> 
     <counter category="gateway" name="server1"> 
      <runtime>1</runtime> 
      <queue>10</queue> 
      <maxrequest>10</maxrequest> 
      <color>purple</color> 
      <host> 
       <name>svo2555</name> 
       <path>\\gateway</path> 
       <lastaccessed>2007-02-03</lastaccessed> 
      </host> 
     </counter> 
    </counters> 
</extract> 
</export> 

는 ---- XSL

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" > 
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/> 
<xsl:strip-space elements="*"/> 
<xsl:template match="//export"> 
    <xsl:variable name="extractDate" select="//extract/@date" /> 
    <counters> 
    <xsl:for-each select="//counters/counter"> 
     <counter> 
      <extractDate><xsl:value-of select="$extractDate"/></extractDate> 
      <category><xsl:value-of select="@category"/></category> 
      <name><xsl:value-of select="@name"/></name> 
      <runtime><xsl:value-of select="runtime"/></runtime> 
      <queue><xsl:value-of select="queue"/></queue> 
      <maxrequest><xsl:value-of select="maxrequest"/></maxrequest> 
      <color><xsl:value-of select="color"/></color> 
      <hostName><xsl:value-of select="host/name"/></hostName> 
      <path><xsl:value-of select="host/path"/></path> 
      <lastaccessed><xsl:value-of select="host/lastaccessed"/></lastaccessed> 
     </counter> 
    </xsl:for-each> 
    </counters> 
</xsl:template> 
</xsl:stylesheet 
+3

참조 : http://stackoverflow.com/questions/22590320/not-getting-data-to-transform-xml/22590777#22590777 –

답변

0

, 모든 것을 변화시킨다. "XSLT 기본 네임 스페이스"를 검색하면 669 개의 ​​질문에 대한 답변을 찾을 수 있습니다.