谁能帮忙写一个Java xml xslt转换的代码啊,功能:
xml和xslt都是已知的字符串,函数返回转换后的html字符串即可。
自己是搞C#的,需要用到一点java代码,不知道如何下手,寻求帮助,万分感谢!
/*
需要导入哪些包?
*/
public static void xmlTransform(String xmlString) {
String xslt = "";
//转换代码
return "转换后的字符串";
}

解决方案 »

  1.   

    CHECK_RET_OK_RN(ulRet, ulRet) y1 g_stInsideBoardInfo.stCardInfo[i] Y2
    pstNode->ucTimeCnt Y3 pstNode->ucKeepCnt Y4 pstNode->stWideStep Y5
    pstNode->pstSenlist Y6 pstNode->fValveMinValue Y7
    pstNode = &g_stInsideBoardInfo.stGdcInfo[ucSlotId] Y8  g_stInsideBoardInfo.stCardInfo[ucSlotId] Y9
    g_stInsideBoardInfo.stCardInfo[ucSlotId - 1] J1  CCU_ERR_MPI_INVALID_PARAMS j2
    pStCCUMsg->aucData j3 g_stInsideBoardInfo.stGdcInfo[ucSlotId - 1] j4
    区分调节模式
    VALVE_ADJUST_MODE IsNeedAdjustValve(INT32     iDeltaT,UINT8 ucDeltaTUpperLimit,
    UINT8 ucDeltaTLowerLimit,UINT8 ucLimitMod){
        UINT8 ucDTUpLmt = CCU_NULL_BYTE;
        UINT8 ucDTLowLmt= CCU_NULL_BYTE;    
        TAG_VALUE_INFO;
        ucDTUpLmt = (ucDeltaTUpperLimit < (255 - ucLimitMod))?(ucDeltaTUpperLimit+ucLimitMod):14;
        ucDTLowLmt = (ucDeltaTLowerLimit > ucLimitMod)?(ucDeltaTLowerLimit - ucLimitMod):9; 
        if(iDeltaT >= (INT8)0){
    if(iDeltaT > (INT8)ucDTUpLmt) /* 如果温差高于温升上限和粗调偏差门限之和,默认13+2 = 15,则向上粗调 */
    {return VALVE_UP;}
    else if(iDeltaT > (INT8)ucDeltaTUpperLimit) /* 如果温差高于温升上限小于温升上限和粗调偏差门限之和,默认13~15,
                                                           则向上细调 */{ return VALVE_UP_BALANCE;}
    else if(iDeltaT < (INT8)ucDTLowLmt) /* 如果温差小于温升下限与粗调偏差门限之差,默认11-2 = 9,则向下粗调 */   
    {return VALVE_DOWN;}
    else if(iDeltaT < (INT8)ucDeltaTLowerLimit) /* 如果温差大于温升下限与粗调门限之差,小于温升下限,,则向下细调 */
    {return VALVE_DOWN_BALANCE;} else{ return VALVE_KEEP; /* 其余保持 */ }}else
    {/* 根据讨论,入风口大于出风口时,将阀门调小,如果持续高于3度以上,会报告警,阀门全开 */
    return VALVE_DOWN_BALANCE;        }}
    按调节模式计算控制电压值
    VOID ValveStepControl(GDC_CARD_INFO *pstNode, VALVE_ADJUST_MODE enAdjustMode)
    {CHECK;CHECK_PARA1_NULL(Y6);/* 累计计时加 */Y3++;switch ( enAdjustMode )
    {case VALVE_DOWN : if(Y3 >= Y5.uwTime){Y3 = 0;Y4 = 0;
    /* 按粗调步进调小阀门开度 */    
    ValveAdd(&Y6[VALVE_FAULT_NUM].fTargetValueVoltage,\
                       Y5.fStep, Y7);
      

  2.   

    TAG_VALUE_INFO;}break;case VALVE_DOWN_BALANCE :
    if(Y3 >= pstNode->stThinStep.uwTime) {Y3 = 0;Y4 = 0;
    /* 按细条步进调小阀门开度 */
    ValveAdd(&Y6[VALVE_FAULT_NUM].fTargetValueVoltage, pstNode->stThinStep.fStep, Y7);TAG_VALUE_INFO;
    } break;case VALVE_UP :if(Y3 >= Y5.uwTime){Y3 = 0; Y4 = 0;   
    /* 开始调节 */ValveSub(&Y6[VALVE_FAULT_NUM].fTargetValueVoltage, Y5.fStep);TAG_VALUE_INFO;}
    break;case VALVE_UP_BALANCE :
    if(Y3 >= pstNode->stThinStep.uwTime){Y3 = 0;Y4 = 0;/* 开始调节 */
    ValveSub(&Y6[VALVE_FAULT_NUM].fTargetValueVoltage, pstNode->stThinStep.fStep);
     TAG_VALUE_INFO;}break;case VALVE_KEEP :Y3 = 0;             Y4++;break;default:break;}return;}
    判断是否存在阀门失效告警
    UINT32 IsValveFaultAlarm(UINT8 ucSlotId, FLOAT fSetValue)
    {UINT8 ucFeedBack = 0;UINT32 ulRet = CCU_ERR; FLOAT fFeedBackValue = 0;
    FLOAT fDelatValue = 0;UINT8 ucAlarmValue = CCU_ALARM_NORMAL;PGDC_CARD_INFO pstNode = CCU_NULL_PTR;
    if ( ucSlotId >= MAX_INSIDE_CARD_NUM){ return j2; }Y8;
    ulRet = ReadAD7830Value(&ucFeedBack, FEEDBACK_DA_CHAN, ucSlotId);y1;
    /* 回馈电压转换,跟电路和芯片有关 */fFeedBackValue = ((FLOAT)ucFeedBack * 10)/256;
     CHECK_PARA1_NULL_RN(Y6, j2);Y6[5].fDAReadBackValue = fFeedBackValue;
    /* 计算回馈电压与设置电压的差值 */
    fDelatValue = (fFeedBackValue > fSetValue) ? (fFeedBackValue - fSetValue):(fSetValue - fFeedBackValue);
    fDelatValue = (FLOAT)(fDelatValue- 0.2*fSetValue);
    /* 如果反馈电压连续10次偏离设置电压20%,报阀门失效告警 */
        if ( fDelatValue > HighFloatMark ){ucAlarmValue = CCU_ALARM_NORMAL; 
    AlarmExistJudge(&Y6[VALVE_FAULT_NUM].ucSdrFaultCnt, &ucAlarmValue, VALVE_FAULT_FILT_CNT);
    if ( (CCU_ALARM_ALARM == ucAlarmValue)&&(SENSOR_FAULT_STATE != Y6[VALVE_FAULT_NUM].ucAlarm))
            {  Y6[VALVE_FAULT_NUM].ucAlarm = SENSOR_FAULT_STATE;
                 ReportInsideBoardAlarm;}}else{ ucAlarmValue = CCU_ALARM_ALARM;
    AlarmClearJudge(&Y6[VALVE_FAULT_NUM].ucSdrFaultCnt, &ucAlarmValue);
    if ( (CCU_ALARM_NORMAL == ucAlarmValue)&&(SENSOR_FAULT_STATE == Y6[VALVE_FAULT_NUM].ucAlarm))
    {Y6[VALVE_FAULT_NUM].ucAlarm = NORMAL_STATE;ReportInsideBoardAlarm;} }return CCU_OK;}
      

  3.   

    定时扫描子卡传感器
    VOID PollInsideBoard( VOID )
    {
        UINT32 i = 0;
        /* 如果在加载CPLD或者CPLD失效,会上报CCU硬件故障,由此引起的其它告警需屏蔽 */
        if (  (CCU_TRUE == IsCpldUpdating())
            ||(CCU_TRUE == g_ucCpldTestFail)
            ||(CCU_TRUE == g_ucHardWareFlg))
        {
            return;
        }
        
        for ( i = 0 ; i < MAX_INSIDE_CARD_NUM ; i++ )
        {
            if ( CCU_TRUE == Y2.ucIsOnLine)
            {
               ProcInsideBoardByType((INSIDE_BOARD_TYPE)Y2.ucBoardType, (UINT8)i); 
            }
            else
            {
                continue;
            }
        }    return;
    }
    定时处理子卡管理消息
    VOID ProcInsideCardTimeMsg( PCCU_MSG_FRAME pStCCUMsg )
    {
        UINT8 ucCmd = CCU_NULL_BYTE;    CHECK_PARA1_NULL(pStCCUMsg);
        
        ucCmd = pStCCUMsg->ucCmd;
        
        switch(ucCmd)
        {
            case MAN_1S_TYPE:   /* 定时1S扫描处理子卡 */
                  
                PollInsideBoard();
                          
                break;
            default:
                break;
        }    return;
    }