2009-10-15 9 views
5

Chers amis, bon après-midi. Mon problème est peut-être très basique, c'est-à-dire comment pouvons-nous supprimer l'élément racine d'un fichier xml en utilisant xslt. Exemple de fichier Xml donné ci-dessous.Comment supprimer l'élément racine du fichier 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> 

, je veux donc la sortie comme ci-dessous

<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> 

Ainsi, plus

<Result></Result> 

balises dans le fichier xml. Pls. Aidez-moi. Merci d'avance.

+1

Pouvez-vous formater votre question afin que nous puissions voir ce qu'il est votre demandent? ressemble à ce que vous devez trier < – Rippo

Répondre

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> 

Les copies de modèle tout identité telle qu'elle est, alors que le modèle de l'élément de document ne prend que soin des nœuds enfants (les remettre au modèle d'identité) tout en ne copiant pas le nœud racine lui-même.

Si vous voulez garder votre <summary> comme CDATA pour une raison quelconque, vous aurez besoin

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

Cette façon de copier des éléments et de jouer avec eux m'a beaucoup aidé dans XSLT. Merci beaucoup pour cette réponse. –

+0

@geekam Merci pour vos commentaires! :) – Tomalak

Questions connexes