XSLT转换在.NET中失败

本文关键字:失败 NET 转换 XSLT | 更新日期: 2023-09-27 18:24:44

我遇到了一个奇怪的问题。我有一个XSLT文件,它应用于源XML以生成目标XML。这是我使用的代码

      XslCompiledTransform myXslTransform;
      myXslTransform = new XslCompiledTransform();
      string xsltPath = @"..'Support'CustomerXMlTransform.xslt";
      myXslTransform.Load(xsltPath);
      string tempPath = "C:'Transformed.XML";
      myXslTransform.Transform(xmlFilePath, tempPath);

在Visual Studio中运行(运行VS 2010)时,此操作非常正常。当我尝试从安装程序(从VS创建)运行应用程序并传递XML时,转换后的XML只有一个标记,并且源标记中的所有值都会像这样输出。。。

<?xml version="1.0" encoding="utf-8"?>
<ProjectManagement>
    004 Some
    Project Description
    7230652
    898808
    676
    2003
    003
    Customer Article Description
</ProjectManagement>

还有更多的值,但我已经在这里删除了它们。报告的值没有显示任何标记,这就像是部分输出。

有人知道这里发生了什么吗?当做

已检查安装文件夹,发现缺少System.Xml和System.Xml.Linq.dll文件。这些是项目中引用的文件。手动将这两个文件复制到安装文件夹中。没有节点仍然是相同的结果!!!

以下是XSLT,它在VS2010中运行良好,但在安装程序中失败:

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="yes"/>
  <xsl:template match="/">
    <ProjectManagement>
      <xsl:apply-templates/>
    </ProjectManagement>
  </xsl:template>
  <xsl:template match="kalkulation">
    <Project>
      <ProjectCategoryName>WellTeam</ProjectCategoryName>
      <ProjectNumber>
        <xsl:attribute name="attributename">ProjectNumber</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="projektnummer"/>
      </ProjectNumber>
      <ProjectName>
        <xsl:if test="string-length(projektnummer)!=0">
          <xsl:if test ="string-length(kunden_kurzbezeichnung)!=0">
            <xsl:if test ="string-length(kunden_artikel_bezeichnung)!=0">
              <xsl:value-of select="concat(projektnummer,'',kunden_kurzbezeichnung,'',kunden_artikel_bezeichnung)"/>
            </xsl:if>
          </xsl:if>
        </xsl:if>
      </ProjectName>
      <TemplateName>
        <xsl:choose>
          <xsl:when test="u_firma=003 and material_gruppe = 0321">Group1</xsl:when>
          <xsl:when test="u_firma=004 and material_gruppe = 0321">Group2</xsl:when>
          <xsl:otherwise>Group1</xsl:otherwise>
        </xsl:choose>
      </TemplateName>
      <CalculationNumber>
        <xsl:attribute name="attributename">CalculationNumber</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="kalkulationsnummer"/>
      </CalculationNumber>
      <CalculationSubNumber>
        <xsl:attribute name="attributename">CalculationSubNumber</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="kalkulations_u_nummer"/>
      </CalculationSubNumber>
      <Mandator>
        <xsl:attribute name="attributename">Mandant</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue">676</xsl:attribute>
        <xsl:value-of select="substring(mandant,0,3)"/>
      </Mandator>
      <CompanyName>
        <xsl:attribute name="attributename">CompanyName</xsl:attribute>
        <xsl:attribute name="type">IO</xsl:attribute>
        <xsl:attribute name="defaultvalue">100</xsl:attribute>
        <xsl:value-of select="substring(firma,0,4)"/>
      </CompanyName>
      <CompanySubName>
        <xsl:attribute name="attributename">CompanySubName</xsl:attribute>
        <xsl:attribute name="type">IO</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(u_firma,0,4)"/>
      </CompanySubName>
      <ArticleIndication>
        <xsl:attribute name="attributename">ArticleIndication</xsl:attribute>
        <xsl:attribute name="type">IO</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(bezeichnung,0,40)"/>
      </ArticleIndication>
      <PartNumber>
        <xsl:attribute name="attributename">PartNumber</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue">0</xsl:attribute>
        <xsl:value-of select="teilenummer"/>
      </PartNumber>
      <DueDate>
        <xsl:attribute name="attributename"></xsl:attribute>
        <xsl:attribute name="type"></xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="faelligkeitsdatum"/>
      </DueDate>
      <InsideSalesPerson1>
        <xsl:attribute name="attributename">InsideSalesPerson1</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(sachbearbeiter1,0,20)"/>
      </InsideSalesPerson1>
      <InsideSalesPerson2>
        <xsl:attribute name="attributename">InsideSalesPerson2</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(sachbearbeiter2,0,20)"/>
      </InsideSalesPerson2>
      <SalesPerson>
        <xsl:attribute name="attributename">SalesPerson</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(vertreter_kunde,0,60)"/>
      </SalesPerson>
      <Status>
        <xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
        <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
        <xsl:variable name="status" select="translate(status, $smallcase,$uppercase)" />
        <xsl:choose>
          <xsl:when test="$status='NEW' or $status= 'NEU'">1</xsl:when>
          <xsl:when test="$status='READY' or $status='FERTIG'">2</xsl:when>
          <xsl:when test="$status='IN BEARBEITUNG'">3</xsl:when>
          <xsl:otherwise>0</xsl:otherwise>
        </xsl:choose>        
      </Status>
      <StatusText>
        <xsl:value-of select="status"/>
      </StatusText>
      <CustomerNo>
        <xsl:value-of select="substring(kunden_nummer,0,7)"/>
      </CustomerNo>
      <CustomerSubNo>
        <xsl:attribute name="attributename">CustomerSubNumber</xsl:attribute>
        <xsl:attribute name="type">IO</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="kunden_u_nr"/>
      </CustomerSubNo>
      <CustomerShortDesc>
        <xsl:attribute name="attributename">CustomerDescription</xsl:attribute>
        <xsl:attribute name="type">IO</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(kunden_kurzbezeichnung,0,20)"/>
      </CustomerShortDesc>
      <CustomerArticleDescription>
        <xsl:attribute name="attributename">CustomerArticleDescription</xsl:attribute>
        <xsl:attribute name="type">IO</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(kunden_artikel_bezeichnung,0,255)"/>
      </CustomerArticleDescription>
      <CustomerArticleNumber>
        <xsl:attribute name="attributename">CustomerArticleNumber</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(kunden_artikel_nummer,0,30)"/>
      </CustomerArticleNumber>
      <TaskType>
        <xsl:attribute name="attributename">TaskType</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(aufgabe_art,0,3)"/>
      </TaskType>
      <TaskCreator>
        <xsl:attribute name="attributename">TaskCreator</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(aufgabe_ersteller,0,20)"/>
      </TaskCreator>
      <TaskDate>
        <xsl:attribute name="attributename">TaskDate</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="aufgabe_erstellt_am"/>
      </TaskDate>
      <TaskInfo>
        <xsl:attribute name="attributename">TaskInformation</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(aufgabe_information,0,255)"/>
      </TaskInfo>
      <DesignerId>
        <xsl:attribute name="attributename">TaskSpecialist</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(aufgabe_sachbearbeiter,0,3)"/>
      </DesignerId>
      <MixFactor>
        <xsl:attribute name="attributename">MixedFactor</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="format-number(mengen_faktor,'0.00')"/>
      </MixFactor>
      <DivideNumber>
        <xsl:attribute name="attributename">DivideNumber</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(teilenummer,0,3)"/>
      </DivideNumber>
      <ProjectDesc>
        <xsl:attribute name="attributename">ProjectDescription</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="Projektbezeichnung"/>
      </ProjectDesc>
      <MaterialGroup>
        <xsl:attribute name="attributename">MaterialGroup</xsl:attribute>
        <xsl:attribute name="type">I</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="substring(material_gruppe,0,3)"/>
      </MaterialGroup>
      <MaterialDescription>
        <xsl:attribute name="attributename"></xsl:attribute>
        <xsl:attribute name="type">IO</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:value-of select="material_bezeichnung"/>
      </MaterialDescription>
      <Inactively>
        <xsl:attribute name="attributename"></xsl:attribute>
        <xsl:attribute name="type">IO</xsl:attribute>
        <xsl:attribute name="defaultvalue">0</xsl:attribute>
        <xsl:value-of select="inaktiv"/>
      </Inactively>
      <ShipManually>
        <xsl:attribute name="attributename">ShipManually</xsl:attribute>
        <xsl:attribute name="type">IO</xsl:attribute>
        <xsl:attribute name="defaultvalue">1</xsl:attribute>
        <xsl:value-of select="verlade_manuell"/>
      </ShipManually>
      <xsl:text>
    </xsl:text>
    </Project>
    <Documents>
      <CadDocs>
        <DesignParams>
          <Design>
            <DesignName>
              <xsl:value-of select="substring(cad_nummer,0,9)"/>
            </DesignName>
            <DesignCategoryName>DEFAULT DESIGN CATEGORY</DesignCategoryName>
            <StandardName>
              <xsl:value-of select="substring(fefco_nr,0,15)"/>
            </StandardName>
            <Board Code="">
              <Sort>
                <xsl:value-of select="substring(sorte_nummer,0,15)"/>
              </Sort>
              <Quality>
                <xsl:value-of select="boardquality"/>
              </Quality>
              <Grammage>
                <xsl:value-of select="boardgrammage"/>
              </Grammage>
            </Board>
            <FluteDirection>
              <xsl:value-of select="designflutedirection"/>
            </FluteDirection>
            <GrainDirection>
              <xsl:value-of select="designgraindirection"/>
            </GrainDirection>
            <MatType>
              <xsl:value-of select="substring(material_typ,0,3)"/>
            </MatType>
            <Length>
              <xsl:value-of select="laenge"/>
            </Length>
            <Width>
              <xsl:value-of select="breite"/>
            </Width>
            <Depth>
              <xsl:value-of select="hoehe"/>
            </Depth>
          </Design>
        </DesignParams>
        <xsl:text>
            </xsl:text>
      </CadDocs>
    </Documents>
    <DesignOutput>
      <StandardUsed>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="substring(fefco_nr,0,15)"/>
      </StandardUsed>
      <BlankArea>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="0"/>
      </BlankArea>
      <AreaRatio>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="0"/>
      </AreaRatio>
      <BlankLength>
        <xsl:attribute name="attributename">BlankLength</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="laengen_zuschnitt"/>
      </BlankLength>
      <BlankWidth>
        <xsl:attribute name="attributename">BlankWidth</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="breiten_zuschnitt"/>
      </BlankWidth>
      <ManualCutLength>
        <xsl:attribute name="attributename">ManualCutLength</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue">1</xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="breiten_laengen_zuschnitt_manuell"/>
      </ManualCutLength>
      <FoldedBoxLength>
        <xsl:attribute name="attributename">LengthOfFoldedBox</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="verlade_laenge"/>
      </FoldedBoxLength>
      <FoldedBoxWidth>
        <xsl:attribute name="attributename">WidthOfFoldedBox</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue">1</xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="verlade_breite"/>
      </FoldedBoxWidth>
      <FoldedBoxHeight>
        <xsl:attribute name="attributename">HeightOfFoldedBox</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue">1</xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="verlade_hoehe"/>
      </FoldedBoxHeight>
      <CreaseLength1>
        <xsl:attribute name="attributename">CreaseLength1</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue">1</xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="bz_riller"/>
      </CreaseLength1>
      <CreaseWidth1>
        <xsl:attribute name="attributename">CreaseWidth1</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue">1</xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="lz_riller"/>
      </CreaseWidth1>
      <CreaseLength2>
        <xsl:attribute name="attributename">CreaseLength2</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue">1</xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="bz_schlitzer"/>
      </CreaseLength2>
      <CreaseWidth2>
        <xsl:attribute name="attributename">CreaseWidth2</xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue">1</xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="lz_schlitzer"/>
      </CreaseWidth2>
      <ARDFile>
        <xsl:value-of select="0"/>
      </ARDFile>
      <PDFFile>
        <xsl:value-of select="0"/>
      </PDFFile>
    </DesignOutput>
    <LayoutParams>
      <LayoutCategoryID>DEFAULT MANUFACTURING CATEGORY</LayoutCategoryID>
      <MfgFile Name="">
        <TrimTop>
          <xsl:value-of select="trimtop"/>
        </TrimTop>
        <TrimRight>
          <xsl:value-of select="trimright"/>
        </TrimRight>
        <TrimLeft>
          <xsl:value-of select="trimleft"/>
        </TrimLeft>
        <TrimBottom>
          <xsl:value-of select="trimbottom"/>
        </TrimBottom>
        <SheetSizeX>
          <xsl:value-of select="breiten_zuschnitt_vernutzt"/>
        </SheetSizeX>
        <SheetSizeY>
          <xsl:value-of select="laengen_zuschnitt_vernutzt"/>
        </SheetSizeY>
        <GutterX>
          <xsl:value-of select="gutterx"/>
        </GutterX>
        <GutterY>
          <xsl:value-of select="guttery"/>
        </GutterY>
        <GrainDir>
          <xsl:attribute name="expressionname"></xsl:attribute>
          <xsl:value-of select="layoutgraindirection"/>
        </GrainDir>
        <WastePercentage>
          <xsl:value-of select="abfall_netto_bogen"/>
        </WastePercentage>
      </MfgFile>
    </LayoutParams>
    <LayoutOutput>
      <TrimTop>
        <xsl:attribute name="attributeid"></xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="trimtop"/>
      </TrimTop>
      <TrimRight>
        <xsl:attribute name="attributeid"></xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="trimright"/>
      </TrimRight>
      <TrimLeft>
        <xsl:attribute name="attributeid"></xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="trimleft"/>
      </TrimLeft>
      <TrimBottom>
        <xsl:attribute name="attributeid"></xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="trimbottom"/>
      </TrimBottom>
      <SheetSizeX>
        <xsl:attribute name="attributeid"></xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="breiten_zuschnitt_vernutzt"/>
      </SheetSizeX>
      <SheetSizeY>
        <xsl:attribute name="attributeid"></xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="laengen_zuschnitt_vernutzt"/>
      </SheetSizeY>
      <EdgePunchingLength>
        <xsl:attribute name="attributeid"></xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="laengen_zuschnitt_stanzrand"/>
      </EdgePunchingLength>
      <EdgePunchingWidth>
        <xsl:attribute name="attributeid"></xsl:attribute>
        <xsl:attribute name="type">O</xsl:attribute>
        <xsl:attribute name="defaultvalue"></xsl:attribute>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="breiten_zuschnitt_stanzrand"/>
      </EdgePunchingWidth>
      <NumUps>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="vernutzung"/>
      </NumUps>
      <CutSizeX>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="nutzen_breite"/>
      </CutSizeX>
      <CutSizeY>
        <xsl:attribute name="expressionname"></xsl:attribute>
        <xsl:value-of select="nutzen_laenge"/>
      </CutSizeY>
      <MFGFile>
        <xsl:value-of select="0"/>
      </MFGFile>
      <PDFFile>
        <xsl:value-of select="0"/>
      </PDFFile>
      <CF2File>
        <xsl:value-of select="0"/>
      </CF2File>
    </LayoutOutput>
  </xsl:template>
</xsl:stylesheet>

以下是用VS2010测试的XML(运行良好)和安装程序:

<box_xml>
  <bsi_cad2box>
    <projektnummer>004</projektnummer>
    <Projektbezeichnung>Project Description</Projektbezeichnung>
    <kalkulationsnummer>7230652</kalkulationsnummer>
    <kalkulations_u_nummer>898808</kalkulations_u_nummer>
    <mandant>676</mandant>
    <firma>2003</firma>
    <u_firma>003</u_firma>
    <bezeichnung>Customer Article Description</bezeichnung>
    <teilenummer>1</teilenummer>
    <faelligkeitsdatum>2012-01-12T00:00:00</faelligkeitsdatum>
    <sachbearbeiter1>3009</sachbearbeiter1>
    <sachbearbeiter2>30</sachbearbeiter2>
    <vertreter_kunde>201</vertreter_kunde>
    <status>neu</status>
    <kunden_nummer>716523</kunden_nummer>
    <kunden_u_nr>1001</kunden_u_nr>
    <kunden_kal_key>132132</kunden_kal_key>
    <kunden_kurzbezeichnung>Maier</kunden_kurzbezeichnung>
    <kunden_artikel_bezeichnung>Customer Article Description</kunden_artikel_bezeichnung>
    <kunden_artikel_nummer>TestKdNr 12345</kunden_artikel_nummer>
    <aufgabe_art>100</aufgabe_art>
    <aufgabe_erstellt_am>2012-01-12T00:00:00</aufgabe_erstellt_am>
    <aufgabe_ersteller>100</aufgabe_ersteller>
    <aufgabe_information>Aufgabeninfo</aufgabe_information>
    <aufgabe_sachbearbeiter>100</aufgabe_sachbearbeiter>
    <cad_nummer>00725</cad_nummer>
    <fefco_nr>2201</fefco_nr>
    <mengen_faktor>0.00</mengen_faktor>
    <vernutzung>0</vernutzung>
    <breite>205.00</breite>
    <laenge>360.00</laenge>
    <hoehe>75.00</hoehe>
    <breiten_zuschnitt>3602</breiten_zuschnitt>
    <laengen_zuschnitt>2052</laengen_zuschnitt>
    <breiten_laengen_zuschnitt_manuell>0</breiten_laengen_zuschnitt_manuell>
    <nutzen_breite>0.00</nutzen_breite>
    <nutzen_laenge>0.00</nutzen_laenge>
    <breiten_zuschnitt_vernutzt>4</breiten_zuschnitt_vernutzt>
    <laengen_zuschnitt_vernutzt>1100</laengen_zuschnitt_vernutzt>
    <breiten_zuschnitt_stanzrand>0</breiten_zuschnitt_stanzrand>
    <laengen_zuschnitt_stanzrand>4</laengen_zuschnitt_stanzrand>
    <sorte_nummer>M-SBS-300</sorte_nummer>
    <inaktiv>0</inaktiv>
    <material_typ></material_typ>
    <material_nummer></material_nummer>
    <material_gruppe>0321</material_gruppe>
    <material_bezeichnung></material_bezeichnung>
    <verlade_breite>0.00</verlade_breite>
    <verlade_laenge>0.00</verlade_laenge>
    <verlade_hoehe>0.00</verlade_hoehe>
    <verlade_manuell>0</verlade_manuell>
    <bz_riller></bz_riller>
    <lz_riller></lz_riller>
    <bz_schlitzer></bz_schlitzer>
    <lz_schlitzer></lz_schlitzer>
    <abfall_netto_bogen>19.50</abfall_netto_bogen>
    <kaschierbogen_sorte_nummer>
    </kaschierbogen_sorte_nummer>
    <kaschierbogen_breiten_zuschnitt>0.00</kaschierbogen_breiten_zuschnitt>
    <kaschierbogen_laengen_zuschnitt>0.00</kaschierbogen_laengen_zuschnitt>
    <kaschierbogen_breite_zuschnitt_rand>0.00</kaschierbogen_breite_zuschnitt_rand>
    <kaschierbogen_laengen_zuschnitt_rand>0.00</kaschierbogen_laengen_zuschnitt_rand>
    <legevariante_nummer>
    </legevariante_nummer>
    <druck_ff_nummer>
    </druck_ff_nummer>
    <druck_ff_art>
    </druck_ff_art>
    <druck_ff_womit>
    </druck_ff_womit>
    <ver_ff_nummer>
    </ver_ff_nummer>
    <ver_ff_art>
    </ver_ff_art>
    <ver_ff_womit>
    </ver_ff_womit>
    <stanzen_ff_nummer>
    </stanzen_ff_nummer>
    <stanzen_ff_art>
    </stanzen_ff_art>
    <stanzen_ff_womit>
    </stanzen_ff_womit>
    <kasch_ff_nummer>
    </kasch_ff_nummer>
    <kasch_ff_art>
    </kasch_ff_art>
    <kasch_ff_womit>
    </kasch_ff_womit>
    <bsi_cad2box_ff>
      <typ>gsm</typ>
      <text>14.16</text>
      <n_wert>14.16</n_wert>
    </bsi_cad2box_ff>
    <bsi_cad2box_ff>
      <typ>dru</typ>
      <text>
      </text>
      <n_wert>0.00</n_wert>
    </bsi_cad2box_ff>
    <bsi_cad2box_ff>
      <typ>kas</typ>
      <text>
      </text>
      <n_wert>0.00</n_wert>
    </bsi_cad2box_ff>
    <DOKUMENT>
      <typ>
      </typ>
      <name>
      </name>
      <version>
      </version>
      <erstellungs_datum>
      </erstellungs_datum>
      <url>
      </url>
    </DOKUMENT>
  </bsi_cad2box>
</box_xml>

找到虫子了,耶!!!首先要感谢马克为我们指明了正确的方向。问题出在XSLT中。值应为"bsi_cd2Box"的标记实际上具有"kalkulation"。你看,我正处于时间紧张的状态,所以无法跳出框框思考。再次感谢大家。

谨致问候。

XSLT转换在.NET中失败

我认为这两种情况下的当前目录不同。因为XSLT文件路径被指定为相对URI,所以在第二种情况下找不到XSLT文件。

通常,当前目录是主可执行文件所在的位置,但对于Windows服务,它是C:'Windows'System32

确定当前应用程序路径的一种方法

string path = System.IO.Path.GetDirectoryName( 
      System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase );