2009-10-15 4 views
5

Liebe Freunde guten Nachmittag. Mein Problem kann sein, dass dies sehr grundlegend ist, d.h. wie können wir Root-Element aus einer XML-Datei mit xslt entfernen. Xml-Datei Beispiel unten angegeben.So entfernen Sie Root-Element aus XML-Datei

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

Also, ich möchte die Ausgabe wie unten

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

Also, nicht mehr

<Result></Result> 

Tags in der XML-Datei. Pls. Hilfe. Danke im Voraus.

+1

Können Sie Ihre Frage zu formatieren, damit wir sehen, was es ist, fragen? sieht aus, als müssten Sie aussortieren < – Rippo

Antwort

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> 

Die Identität Vorlage kopiert alles, wie es ist, während die Vorlage für das Dokument Element kümmert sich nur um die untergeordneten Knoten (geben sie an die Identity-Vorlage über), während nicht den Knoten selbst root kopieren.

Wenn Sie Ihr <summary> als CDATA aus irgendeinem Grund zu halten, müssen Sie

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

Diese Art, Elemente zu kopieren und mit ihnen zu spielen, hat mir in XSLT sehr geholfen. Vielen Dank für diese Antwort. –

+0

@geekam Vielen Dank für Ihr Feedback! :) – Tomalak

Verwandte Themen