2009-10-15 31 views
5

Drodzy przyjaciele dzień dobry. Moim problemem może być to bardzo podstawowy, tj. Jak możemy usunąć element root z pliku xml przy użyciu xslt. Przykład pliku Xml podany poniżej.Jak usunąć element root z pliku xml

<Result> 
<Jobs id="1"> 
    <Job ID="000000" PositionID="0000"> 
    <Title>Development Manager - Investment Banking - Equities Business</Title> 
    <Summary><![CDATA[An experienced Development Manager with previous experience leading a small to mid-size team of developers in a Java/J2EE environment. A hands on role, you will be expected to manage and mentor a team of developers working on a mix of greenfield and maintenance projects.&#160;&#160; My client, a well known investment bank, requires an experienced Development Manager to join their core technology team. This t]]></Summary> 
    <DateActive Date="2009-10-06T19:36:43-05:00">10/6/2009</DateActive> 
    <DateExpires Date="2009-11-05T20:11:34-05:00">11/5/2009</DateExpires> 
    <DateUpdated Date="2009-10-06 20:12:00">10/6/2009</DateUpdated> 
    <CompanyName>ABC Technology</CompanyName> 
    </Job> 
</Jobs> 
</Result> 

Tak, chcę wyjście jak poniżej

<Jobs> 
    <Job ID="000000" PositionID="0000"> 
    <Title>Development Manager - Investment Banking - Equities Business</Title> 
    <Summary><![CDATA[An experienced Development Manager with previous experience leading a small to mid-size team of developers in a Java/J2EE environment. A hands on role, you will be expected to manage and mentor a team of developers working on a mix of greenfield and maintenance projects.&#160;&#160; My client, a well known investment bank, requires an experienced Development Manager to join their core technology team. This t]]></Summary> 
    <DateActive Date="2009-10-06T19:36:43-05:00">10/6/2009</DateActive> 
    <DateExpires Date="2009-11-05T20:11:34-05:00">11/5/2009</DateExpires> 
    <DateUpdated Date="2009-10-06 20:12:00">10/6/2009</DateUpdated> 
    <CompanyName>ABC Technology</CompanyName> 
    </Job> 
</Jobs> 

Tak, nie więcej

<Result></Result> 

znaczniki w pliku XML. Pls. Wsparcie. Z góry dziękuję.

+1

można sformatować swoje pytanie, dzięki czemu możemy zobaczyć, co to jest twój proszą? wygląda na to, że musisz uporządkować ten kod: < – Rippo

Odpowiedz

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

<!-- template for the document element --> 
<xsl:template match="/*"> 
    <xsl:apply-templates select="node()" /> 
</xsl:template> 

Tożsamość kopie szablonu wszystko jak to jest, gdy szablon dla elementu dokumentu trwa tylko opiekę węzłów potomnych (przekazując je do szablonu tożsamości), a nie kopiowania samego węzła głównego.

Jeśli chcesz zachować swoje <summary> jako CDATA z jakiegoś powodu, trzeba będzie

<xsl:output cdata-section-elements="summary" /> 
+1

Ten sposób kopiowania elementów i zabawy z nimi bardzo mi pomógł w XSLT. Wielkie dzięki za tę odpowiedź. –

+0

@geekam Dzięki za opinie! :) – Tomalak