Come contare nodi specifici in XML gerarchia dipende dalle condizioni in XSL
Domanda
Sto scrivendo un foglio di stile XSL (versione 2.0) Vorrei sapere come ho potuto contare tutti i nodi con un nome specifico anche se non sono fratelli per esempio nel seguente codice XML Voglio contare il numero di prodotti da tipo -latte ma da tutti i negozi. Voglio sapere se c'è un modo per utilizzare la funzione di conteggio e non alle prese con ricorsione. risultato dovrebbe essere 4 per questo esempio
<Shops><Shop>
<Product>
<Name>yogurt</Name>
<type>Milk</type>
</Product>
<Product>
<Name>cheese</Name>
<type>Milk</type>
</Product>
<Product>
<Name>bread</Name>
<type>Bakery</type>
</Product> </Shop> <Shop>
<Product>
<Name>yellow cheese</Name>
<type>Milk</type>
</Product>
<Product>
<Name>chocolate milk</Name>
<type>Milk</type>
</Product>
<Product>
<Name>bagel</Name>
<type>Bakery</type>
</Product>
<Product>
<Name>candy</Name>
<type>Sweets</type>
</Product> </Shop></Shops>
Soluzione
Questo evita l'operatore lento "//
".
count(/Shops/Shop/Product[type = 'Milk'])
Altri suggerimenti
count(//Product[type='Milk'])
//
trova tutti i nodi corrispondenti in qualsiasi parte del documento.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow