2011-01-24 3 views
1

У меня есть следующий xml.XSLT для удаления элементов из xml

<?xml version="1.0" encoding="windows-1252"?> 
<Person> 
    <Header> 
     <Header>1</Header> 
    </Header> 
    <Details Id="2"> 
     <First>GERRARD</First> 
     <Last>STEVE1     </Last> 
    </Details> 
    <Details Id="3"> 
     <First>GERRARD</First> 
     <Last>STEVE2     </Last> 
    </Details> 
    <Details Id="3"> 
     <First>GERRARD</First> 
     <Last>STEVE3     </Last> 
    </Details> 
    <Footer> 
     <Footer>liverpool</Footer> 
    </Footer> 
</Person> 

Мне нужно удалить Details элемент и создать другой XML, который выглядит следующим образом

<?xml version="1.0" encoding="windows-1252"?> 
<Person> 
    <Header> 
     <Header>1</Header> 
    </Header> 
    <Footer> 
     <Footer>liverpool</Footer> 
    </Footer> 
</Person> 

Спасибо заранее.

+0

Потребовалось некоторое время, но, точная копия [удалить XML-теги с помощью XSLT] (http://stackoverflow.com/questions/2641681/remove-xml-tags-with-xslt) –

ответ

7
<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

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

<xsl:template match="Details"/> 

</xsl:stylesheet> 
+0

+1. Правильный ответ. – Flack