手動寫一個模板XML文件,然後。我想。。跟據這個模板XML文件用代碼解析它後轉成XSL/XSLT文件。
這就是問題
請各位XML高手,進來解答
說說解決的絲路

解决方案 »

  1.   

    看这里
    XSLT转换XML小结- Richie - 博客园
      

  2.   


    大哥。。是XML轉換成XSLT啊
      

  3.   


    不能寫代碼直接轉換麼?
    為什麼只有XSLT轉XML。。而沒有XML轉XSLT呢?
      

  4.   

    不明白。
    我是要用代碼把XML轉換成XSLT/XSL
    這個功能不能用工具去轉換的
      

  5.   

    说说你的需求:什么样的XML转换成怎样的XSLT
      

  6.   


    Ma_JobType.xml<?xml version="1.0" standalone="yes"?>
    <dsGet xmlns="http://tempuri.org/dsGet.xsd">
      <Ma_JobType>
        <TxnId>4</TxnId>
        <Seq>8</Seq>
        <JobType>SH01</JobType>
        <JobTypeName>裁床</JobTypeName>
        <TypeFlag>S</TypeFlag>
        <DailySalary>1000.0000</DailySalary>
        <CheckPointId>9</CheckPointId>
        <LastModifyUser>SHERRY</LastModifyUser>
        <LastModifyDateTime>2010-02-05T08:53:41.59+08:00</LastModifyDateTime>
      </Ma_JobType>
      <Ma_JobType>
        <TxnId>5</TxnId>
        <Seq>11</Seq>
        <JobType>SK01</JobType>
        <JobTypeName>織前幅</JobTypeName>
        <TypeFlag>S</TypeFlag>
        <DailySalary>100.0000</DailySalary>
        <LastModifyUser>SUKI</LastModifyUser>
        <LastModifyDateTime>2009-12-28T16:27:35.35+08:00</LastModifyDateTime>
      </Ma_JobType>
    </dsGet>
    Ma_JobType.xsl<?xml version="1.0" encoding="gb2312"?>
    <?mso-application progid="Excel.Sheet"?>
    <xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ds="http://tempuri.org/dsGet.xsd">
    <xsl:output encoding="gbk"></xsl:output>
    <xsl:template match="/">
    <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
     xmlns:o="urn:schemas-microsoft-com:office:office"
     xmlns:x="urn:schemas-microsoft-com:office:excel"
     xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
     xmlns:html="http://www.w3.org/TR/REC-html40"> <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
      <Created>1996-12-17T01:32:42Z</Created>
      <LastSaved>2000-11-18T06:53:49Z</LastSaved>
      <Version>11.5606</Version>
     </DocumentProperties>
     <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
      <RemovePersonalInformation/>
     </OfficeDocumentSettings>
     <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
      <WindowHeight>4530</WindowHeight>
      <WindowWidth>8505</WindowWidth>
      <WindowTopX>480</WindowTopX>
      <WindowTopY>120</WindowTopY>
      <AcceptLabelsInFormulas/>
      <ProtectStructure>False</ProtectStructure>
      <ProtectWindows>False</ProtectWindows>
     </ExcelWorkbook>
     <Styles>
      <Style ss:ID="Default" ss:Name="Normal">
       <Alignment ss:Vertical="Bottom"/>
       <Borders/>
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
       <Interior/>
       <NumberFormat/>
       <Protection/>
      </Style>
      <Style ss:ID="s21">
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12" ss:Bold="1"/>
      </Style>
      <Style ss:ID="s22">
       <Font ss:FontName="宋体" x:CharSet="134" ss:Size="12"/>
      </Style>
     </Styles>
     <Worksheet ss:Name="Sheet1">
      <Table ss:ExpandedColumnCount="99" ss:ExpandedRowCount="255" x:FullColumns="1"
       x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
       <Column ss:Width="39"/>
       <Column ss:Width="27"/>
       <Column ss:Width="64.5"/>
       <Column ss:Width="102"/>
       <Column ss:Width="72"/>
       <Column ss:Width="94.5"/>
       <Column ss:Width="109.5"/>
       <Column ss:Width="124.5"/>
       <Column ss:Width="162"/>
       <Row ss:AutoFitHeight="0">
        <Cell><Data ss:Type="String">TxnId</Data></Cell>
        <Cell><Data ss:Type="String">Seq</Data></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">Job Type</Data></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">Job Type Name</Data></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">Type Flag</Data></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">Daily Salary</Data></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">Check Point Id</Data></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">Last Modify User</Data></Cell>
        <Cell ss:StyleID="s21"><Data ss:Type="String">Last Modify Data Time</Data></Cell>
       </Row>
       <xsl:for-each select="ds:dsGet/ds:Ma_JobType" >
       <Row ss:AutoFitHeight="0">
        <Cell><Data ss:Type="String"><xsl:value-of select="ds:TxnId"/></Data></Cell>
        <Cell><Data ss:Type="String"><xsl:value-of select="ds:Seq"/></Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String"><xsl:value-of select="ds:JobType"/></Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String"><xsl:value-of select="ds:JobTypeName"/></Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String"><xsl:value-of select="ds:TypeFlag"/></Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String"><xsl:value-of select="ds:DailySalary"/></Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String"><xsl:value-of select="ds:CheckPointId"/></Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String"><xsl:value-of select="ds:LastModifyUser"/></Data></Cell>
        <Cell ss:StyleID="s22"><Data ss:Type="String"><xsl:value-of select="ds:LastModifyDateTime"/></Data></Cell>
       </Row>
       </xsl:for-each>
      </Table>
      <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
       <Unsynced/>
       <Print>
        <ValidPrinterInfo/>
        <PaperSizeIndex>9</PaperSizeIndex>
        <HorizontalResolution>300</HorizontalResolution>
        <VerticalResolution>300</VerticalResolution>
       </Print>
       <Selected/>
       <LeftColumnVisible>2</LeftColumnVisible>
       <Panes>
        <Pane>
         <Number>3</Number>
         <ActiveRow>7</ActiveRow>
         <ActiveCol>7</ActiveCol>
        </Pane>
       </Panes>
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
     </Worksheet>
     <Worksheet ss:Name="Sheet2">
      <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
       x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
      <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
       <Unsynced/>
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
     </Worksheet>
     <Worksheet ss:Name="Sheet3">
      <Table ss:ExpandedColumnCount="0" ss:ExpandedRowCount="0" x:FullColumns="1"
       x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25"/>
      <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
       <Unsynced/>
       <ProtectObjects>False</ProtectObjects>
       <ProtectScenarios>False</ProtectScenarios>
      </WorksheetOptions>
     </Worksheet>
    </Workbook>
     </xsl:template></xsl:stylesheet>這個XSL是手動寫的
    我就是想。。根據上面的XML用代碼自己轉成XSL。
     
      

  7.   

    这个问题直接转肯定不行
    关键是你怎么处理xslt文件里的样式标签,一般的xml文件都是内容为主的文件
    只要你能做好对应解析的关系应该就能做出来