2013-02-20 15 views
7
<events> 
    <main> 
     <action>modification</action> 
     <subAction>weights</subAction> 
    </main> 
</events> 
<SeriesSet> 
    <Series id="Price_0"> 
     <seriesBodies> 
      <SeriesBody> 
       <DataSeriesBodyType>Do Not Copy</DataSeriesBodyType> 
      </SeriesBody> 
     </SeriesBodies> 
    </Series> 
</SeriesSet> 

i tüm xml kopyalayıp DataSeriesBodyType elemanı dışlamak nasılXSLT Kopyala tüm Düğümler

+1

[? Eğer denedi Ne] (http://whathaveyoutried.com) –

cevap

17

Sadece bir şablon DataSeriesBodyType eşleşen kullanmak sonra (kullandığınız gibi) kimlik şablonu kullanmak ve sahip olduğu hiç birşey yapmıyor.

kod şöyle olacaktır:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 


    <xsl:output method="xml" encoding="utf-8" indent="yes"/> 

    <!-- Identity template : copy all text nodes, elements and attributes --> 
    <xsl:template match="@*|node()"> 
     <xsl:copy> 
      <xsl:apply-templates select="@*|node()" /> 
     </xsl:copy> 
    </xsl:template> 

    <!-- When matching DataSeriesBodyType: do nothing --> 
    <xsl:template match="DataSeriesBodyType" /> 

</xsl:stylesheet> 

sonra, boş veri metin düğümlerini kaldırmak önceki stil sayfasına aşağıdaki şablonu eklemek için çıkışını normalleştirmek isterseniz: Orada da

<xsl:template match="text()"> 
    <xsl:value-of select="normalize-space()" /> 
</xsl:template> 
+0

Bunu denedi, ancak unsuru bir değer olmadan geri döndürdü. elemanın hiç görüntülenmesini istemiyorum. – user2092096

+0

Gönderdiğiniz XML tam XML değil ve içinde bazı hatalar var (ör. Bir kapanış etiketi olan SeriesBody ile seriesBody), böylece kodumu XML'inizin düzeltilmiş bir sürümü ile kontrol ettim (belki de aynı değil). Eşleşme = "DataSeriesBodyType" eşleşmesinin tam olarak eşleşip eşleşmediğini (büyük harf ve küçük harfler dahil) kontrol edin ve çalışmazsa tam XML'inizi gönderin. –

+0

Ve DataSeriesBodyType veya SeriesBodyType'ı dışlamak için hangi öğeyi dışarıda tutmaya çalışıyorsunuz? Sadece hariç tutulacak XML öğesi adıyla eşleşme özellik değerini değiştirin. –

4

Bu sorular hakkında XMLPlease.com'a harika bir giriş. Bu unsurları yeniden adlandırma, elemanlar hariç yönelik örnekler bir sürü içerir nitelikleri vs. vs.

sonraki web sitesine bakın: Ne var http://www.xmlplease.com/xsltidentity