2012-03-08 2 views
1

Im, чтобы преобразовать часть XML в трубку | Относительно | Формат значения с использованием XSLT.XML To PSV - Специфические узлы

Однако я хочу только выбрать определенные узлы для преобразования в этот формат.

Как бы я это сделал?

XML-находится в пределах пространства имен, которые могут быть объявлены как "х"

Примерная структура XML-:

<Message> 
    <Top> 
     <a></a> 
     <b></b> 
    </Top> 
    <Middle> 
     <c></c> 
    </Middle> 
    <Bottom> 
     <d></d> 
     <e></e> 
     <f></f> 
     <g></g> 
    </Bottom> 
</Message> 

Я хотел бы выбрать значения узлов: C, E и F.

+0

'' '' '' '' '' '' '' '' '' '' '' '' и ' – hroptatyr

+0

да извините, что не подтвердите, что – Mike

ответ

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

    <xsl:output method="text"/> 

    <xsl:template match="c"> 
    <xsl:value-of select="text()"/> 
    <xsl:text>|</xsl:text> 
    </xsl:template> 

    <xsl:template match="e"> 
    <xsl:value-of select="text()"/> 
    <xsl:text>|</xsl:text> 
    </xsl:template> 

    <xsl:template match="f"> 
    <xsl:value-of select="text()"/> 
    <xsl:text>&#0010;</xsl:text> 
    </xsl:template> 

    <xsl:template match="text()"/> 

</xsl:stylesheet> 
+0

Прекрасно работает, вы также знаете, как я могу удалить некоторые записи на новую строку внутри определенного узла. – Mike

+0

Ну, это все о совпадениях, если вы можете сформировать xpath, который соответствует этому определенному узлу, вы можете его обработать специально, более ранние совпадения шаблонов переопределяют более поздние. – hroptatyr

+0

Я так много понимаю, но вы бы использовали ASCII-код или есть встроенный способ сделать это с помощью xslt? – Mike

Смежные вопросы