2014-11-15 3 views
-4

Я хочу показать все узлы и их значения, кроме двух из них. Например, показать все, кроме «типа» и «цена»Показать все узлы, кроме двух, с xslt

<xsl:for-each select="market/device"> 
<!-- ... --> 
    <xsl:for-each select="*[local-name()!='type']"> <!-- <<< here --> 
    <li><xsl:value-of select="local-name()"/></li> 
    <li><xsl:value-of select="."/></li> 
    </xsl:for-each> 
<!-- ... --> 
</xsl:for-each> 
+0

Что вы хотите, чтобы мы сделали? См. Раздел «Как спросить»: http://stackoverflow.com/help/how-to-ask. Ваш вопрос очень неясен. – cybermonkey

+0

Вы знаете о функции 'not' (!) В XPath, да? –

ответ

0

Как вы не предоставили вход, я просто настроить следующий XML в качестве примера:

Входной XML:

<?xml version="1.0" encoding="UTF-8"?> 
<markets> 
    <market> 
    <device> 
     <type>type value</type> 
     <price>price value</price> 
     <nottype>nottype value</nottype> 
     <notprice>notprice value</notprice> 
     <else>else value</else> 
    </device> 
    </market> 
</markets> 

При следующем XSLT применяется:

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
<xsl:output method="html" doctype-public="XSLT-compat" 
    omit-xml-declaration="yes" encoding="UTF-8" indent="yes" /> 
<xsl:template match="/"> 
    <hmtl> 
    <head> 

    </head> 
    <xsl:apply-templates/> 
    </hmtl> 
</xsl:template> 
<xsl:template match="markets"> 
<ul> 
<xsl:for-each select="market/device"> 
    <xsl:for-each select="*[not((local-name() = 'type') or (local-name() = 'price'))]"> 
    <li><xsl:value-of select="local-name()"/></li> 
    <li><xsl:value-of select="."/></li> 
    </xsl:for-each> 
</xsl:for-each> 
</ul> 
</xsl:template> 
</xsl:transform> 

Следующий вывод производится (оны соответствующая часть размещена):

<ul> 
    <li>nottype</li> 
    <li>nottype value</li> 
    <li>notprice</li> 
    <li>notprice value</li> 
    <li>else</li> 
    <li>else value</li> 
</ul> 

Для справки: https://developer.mozilla.org/en-US/docs/Web/XPath/Functions/not

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