计算xml文件中的节点

时间:2011-06-28 04:47:05

标签: java xml

我必须计算xml文件中的节点数。 xml文件附在下面。如何获得每个<document>节点中<collectionPrintable>个节点的数量?请回复。

<?xml version="1.0" encoding="utf-8" ?>
<xml>
  <collectionCategory>
    <name>Recipes</name>
    <icon>http://www.gallinablanca.es/img/t5.gif</icon>
  </collectionCategory>
  <collectionCategory>
    <name>Arroces</name>
    <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=22446&w=340&h=280</icon>
    <collectionPrintable>
      <document>
        <name>ARROZ NEGRO CON...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3441&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=1969</url>
        <description>300 gr. de arroz, 500 g calamares, 1/2 kg pescado y marisco al gusto, 2 bolsas de tinta de calamar, 1 cebolleta, 1 diente de ajo, 1 lata de tomate natural, 1 brik de Caldo de Pescado Gallina Blanca</description>
        <preview />
      </document>
      <document>
        <name>PAELLA SENCILLA</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3526&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=2045</url>
        <description>1 l. de Caldo de Pescado Gallina Blanca, 200 gr. de rape, 200 gr. de gambas peladas, 200 gr. de almejas, 8 langostinos, 400 gr. de arroz, 1 cebolla, 1 zanahoria, 1 pimiento verde, 1 tomate, 2 dientes de ajo</description>
        <preview />
      </document>
      <document>
        <name>ARROZ CALDOSO</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3615&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=2145</url>
        <description>200 gr. de rape, 100 gr. de calamares, 100 gr. de langostinos, 1 cebolla, 1 lata de tomate natural, 200 gr. de arroz, 1/2 cubilete de aceite de oliva sabor suave, perejil, azafrán en hebra, 1 l. de Caldo de Pescado Gallina Blanca</description>
        <preview />
      </document>
      <document>
        <name>ARROZ CON CALABAZA</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3616&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=2147</url>
        <description>1/2 L. de Caldo de Verduras Gallina Blanca, 500 gr. de calabaza, 1 cebolla, 2 dientes de ajo, 220 gr. de arroz de grano redondo, 4 vainas de cardamomo, 1 cucharada de aceite de oliva sabor suave, pimienta blanca, sal, 50 gr. de parmesano rallado</description>
        <preview />
      </document>
      <document>
        <name>ARROZ CON CALAMARES...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3832&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=2359</url>
        <description>aceite de oliva, 1/4 de cebolla picada, 150 gr. espárragos trigueros, 500 gr. calamares, 200 gr. de Tomate Frito Gallina Blanca, 300 gr. de arroz de grano largo, azafrán o colorante, 200 gr. gambas peladas, 2 Pastillas de Avecrem Caldo de Pescado -30% de sal</description>
        <preview />
      </document>
      <document>
        <name>ARROZ FRITO</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3833&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=2385</url>
        <description>2 pastillas de Avecrem Caldo de Pollo, 4 puñados puñados de arroz, 1 cebolla, 2 dientes de ajo, 2 ó 3 cucharadas de aceite de oliva</description>
        <preview />
      </document>
      <document>
        <name>ARROZ MODERNO</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3844&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=2393</url>
        <description>1 pastilla de Avecrem Caldo de Carne -30% de sal, 2 tacitas de arroz, 1 zanahoria, 150 gr. judías verdes troceadas, 250 gr. bacon, 3 cucharadas de aceite de oliva</description>
        <preview />
      </document>
      <document>
        <name>PAELLA DE POLLO</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4033&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3337</url>
        <description>4 tacitas de arroz (de las de café), 3 dientes de ajo, 1 bote de sofrito de hortalizas, 350 gr. de alitas de pollo (unas 12-14), 1 pimiento verde, 8 tacitas de agua (de las de café), 2 pastillas de Avecrem Caldo de Pollo, aceite, sal, pimienta</description>
        <preview />
      </document>
      <document>
        <name>ARROZ CALDOSO</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=5368&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=4725</url>
        <description>1 pimiento, 1/2 bote de sofrito de cebolla , 1 bote de Tomate Frito Gallina Blanca, 1 diente de ajo, azafrán y aceite, 1 brik de Caldo de Pescado Gallina Blanca, 250 gr. de arroz, 200 gr. de gambas peladas congeladas, 1 sepia congelada, 200 gr. de guisantes</description>
        <preview />
      </document>
      <document>
        <name>ARROZ HINDI</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=5392&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=4739</url>
        <description>300 gr. de arroz de grano largo, 2 manzanas, 2 cucharadas de pasas de corinto, 1 cucharada de curry en polvo, 2 cucharadas de piñones, 2 cucharadas de cebolla frita, la corteza de media naranja, el zumo de 2 naranjas, 50 gr. de mantequilla, 1/2 l. de Caldo de Pollo Gallina Blanca</description>
        <preview />
      </document>
      <document>
        <name>ARROZ TRES DELICIAS</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=5395&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=4741</url>
        <description>200 gr. de arroz, 50 gr. de jamón de york, 4 palitos de cangrejo, 50 gr. de guisantes, 1 tortilla francesa, 50 gr. de maíz dulce, 2 rodajas de piña en su jugo, 50 gr. de gambas, mayonesa, crema de leche, ketchup, azúcar, 1 pizca de Avecrem Caldo de Pollo Granulado</description>
        <preview />
      </document>
      <document>
        <name>PAELLA MARINERA</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=5605&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=4861</url>
        <description>300 gr. de arroz, 1 pimiento rojo, 3 cucharadas de Tomate Frito Gallina Blanca, 1 pimiento verde, 4 dientes de ajo, 1 sepia, 2 kg. de mejillones, aceite, 150 gr. de guisantes, 150 gr. de gambas, colorante, 600 cc. aprox. de Caldo de Pescado Gallina Blanca</description>
        <preview />
      </document>
      <document>
        <name>PAELLA MIXTA</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=5609&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=4863</url>
        <description>400 gr. de arroz, 300 gr. de conejo a trocitos, 300 gr. de pollo a trocitos, 300 gr. de carne magra a trocitos, 1/2 bote de Tomate Frito Gallina Blanca, 2 pimientos, 2 dientes de ajo, 6 gambas, 12 mejillones, 1 sepia a trocitos, aceite, 1 brik de Caldo de Pollo Gallina Blanca</description>
        <preview />
      </document>
      <document>
        <name>RISOTTO CON SETAS</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=5637&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=4877</url>
        <description>200 g de champiñones, 1 y 1/2 litros de Caldo de Verduras Gallina Blanca, 50 g de mantequilla, 1/2 bote de Sofrito de Tomate y Cebolla Gallina Blanca, 2 dientes de ajo picados, 1 pimiento verde picado (unos 100g.), 1 pimiento rojo picado (100g.), 400 g de arroz, 1 vaso de vino blanco seco, azafrán en polvo, 50 g de queso parmesano rallado, 1 pastilla de Avecrem Caldo de Pollo</description>
        <preview />
      </document>
      <document>
        <name>RISOTTO AL QUESO...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=5641&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=4879</url>
        <description>300 gr. de arroz, 100 gr. de queso fresco, 100 gr. de queso azul, 50 gr. de mantequilla, 200 c.c. de nata líquida, 1 litro de Caldo de Pollo Gallina Blanca, 1 vasito de vino blanco (opcional), 100 g. de queso parmesano en un trozo</description>
        <preview />
      </document>
      <document>
        <name>ARROZ BLANCO</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=8030&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=6473</url>
        <description>300 gr arroz, 1 cucharadita de Avecrem Ajo y Perejil Granulado, 450 ml agua</description>
        <preview />
      </document>
      <document>
        <name>RISOTTO DE...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=8414&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=6869</url>
        <description>350 gr. arroz para risotto, 300 gr espárragos, 3 cebollas tiernas, 125 ml vino blanco seco, 1 litro de Caldo de Pollo Gallina Blanca, 80 gr. queso parmesano rallado, 3 cucharadas pesto (preparado), unas hebras azafrán, 1 cucharada mantequilla, 1 cucharada aceite de oliva, pimienta</description>
        <preview />
      </document>
      <document>
        <name>RISOTTO AL QUESO</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=12031&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=6887</url>
        <description>300 gr. de arroz, 100 gr. de queso fresco, 100 gr. de queso azul, 50 gr. de mantequilla, 200 c.c. de nata líquida, 1 litro de Caldo de Carne Gallina Blanca, 1 vaso de vino blanco, 100 g. de queso parmesano en un trozo</description>
        <preview />
      </document>
      <document>
        <name>Risotto a la...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=9716&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=9197</url>
        <description>1 sobre Risotto a la Gorgonzola, 700 ml. de agua, Para servir:, taquitos de queso de Burgos</description>
        <preview />
      </document>
      <document>
        <name>ARROZ MELOSO DE...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=15124&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=16478</url>
        <description>400 gr. de arroz bomba, 500 gr. de butifarra o salchichas de cerdo, 500 gr. de sepias, 200 gr. de tomate maduro, 3 dientes de ajo, 2 cebollas grandes, 1 pimiento verde grande, 1 litro de Caldo de Verduras Gallina Blanca , Perejil, aceite de oliva y sal</description>
        <preview />
      </document>
    </collectionPrintable>
  </collectionCategory>
  <collectionCategory>
    <name>Aves</name>
    <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=22448&w=340&h=280</icon>
    <collectionPrintable>
      <document>
        <name>PECHUGAS DE POLLO...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3185&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=1813</url>
        <description>1 kg. de pechugas de pollo, 2 limones, 1 pellizco de Avecrem Caldo de Pollo Granulado, 2 dientes de ajo, perejil, aceite</description>
        <preview />
      </document>
      <document>
        <name>POLLO CON SALSA DE...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3402&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=1945</url>
        <description>1200 gr de traseras de pollo troceadas, harina, 100 gr. de almendras crudas, canela, pimienta molida, tomillo, albahaca, pimentón (dulce o picante), 50 gr. de pasas, orégano, 1/2 bote de Tomate Frito Gallina Blanca, 200 gr. de cebolla frita, 2 pastillas de Avecrem Caldo de Pollo, 2 cucharadas de coñac, aceite</description>
        <preview />
      </document>
      <document>
        <name>MUSLOS DE POLLO...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4030&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3325</url>
        <description>4 muslos de pollo, 1 cabeza de ajos, 1 tomate, 1 manzana, 2 ó 3 patatas, 2 ó 3 ramas de perejil, 1 pastilla de Avecrem Caldo de Pollo</description>
        <preview />
      </document>
      <document>
        <name>PAVO CON SETAS</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4059&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3481</url>
        <description>1 kg. de pechugas de pavo, 1/2 kg. de patatas, 1/2 kg. de setas variadas, 2 cebolletas tiernas, 2 dientes de ajo, 2 hojas de laurel, 1 vaso de vino blanco, 1 yema de huevo cocido, azafrán, 10 almendras tostadas, perejil fresco, clavo de olor, 2 pastillas de Avecrem Caldo de Pollo, aceite de oliva virgen</description>
        <preview />
      </document>
      <document>
        <name>PECHUGAS DE POLLO...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4062&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3507</url>
        <description>700 gr. de pechuga pollo o pavo, 1 pastilla Avecrem Caldo de Pollo, 4 cucharadas de aceite oliva, 2 cucharadas de azúcar, 3 cucharadas de vinagre (módena), 1 cucharada de harina, 10-12 granos de pimienta negra</description>
        <preview />
      </document>
      <document>
        <name>PECHUGAS RELLENITAS</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4065&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3511</url>
        <description>4 pechugas de pollo, 8 lonchitas finas de jamón cocido, 4 lonchas de queso para fundir, 200 gr. pan rallado, 2 huevo, pimienta y perejil, una pizca Avecrem Caldo de Pollo Granulado, aceite de oliva</description>
        <preview />
      </document>
      <document>
        <name>POLLO A LA CERVEZA</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4072&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3583</url>
        <description>1 pollo en cuartos, 1 botellín de cerveza, 1 limón, 1 pizca de Avecrem Caldo de Pollo Granulado, aceite</description>
        <preview />
      </document>
      <document>
        <name>POLLO AL AJILLO</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4076&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3607</url>
        <description>1 pollo troceado pequeño, 1 cabeza de ajos , 1 cucharadita de orégano, 1 pizca pimienta negra molida, 1 pastilla Avecrem Caldo de Pollo -30% de sal, 1/4 litro agua, 1/2 copa coñac, aceite de oliva</description>
        <preview />
      </document>
      <document>
        <name>POLLO AL CHILINDRÓN</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4080&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3613</url>
        <description>8 muslos de pollo, 200 gr. zanahorias baby congeladas, 250 guisantes, 1 sobre de Mi Salsa Chilindrón, 200 gr. de champiñones, 4 cucharadas de aceite, sal</description>
        <preview />
      </document>
      <document>
        <name>POLLO ASADO A LA...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4096&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3637</url>
        <description>1 pollo entero, 1 pastilla de Avecrem Caldo de Pollo, 4 ajos, 1 limón, 1/2 kg. cebollitas del platillo, 1 vaso de vino blanco, 1/2 vaso de aceite</description>
        <preview />
      </document>
      <document>
        <name>POLLO TROPICAL</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=4108&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=3677</url>
        <description>1 pollo a 1/8 , 5 cucharadas de aceite, 1 pastilla de Avecrem Caldo de Pollo, 200 ml. de zumo de piña (un vaso), 3 rodajas de piña, 1 aguacate</description>
        <preview />
      </document>
      <document>
        <name>FILETES DE PECHUGA...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=6428&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=5563</url>
        <description>1 pechuga cortada en filetes, 1 pizca Avecrem Caldo de Pollo Granulado, 1 sobre de Mi Salsa Bechamel, 500 cc de leche, huevo, pan rallado, aceite</description>
        <preview />
      </document>
      <document>
        <name>PECHUGAS DE POLLO...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=6478&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=5593</url>
        <description>400 gr. de filetes de pechuga, 2 calabacines, 4 cucharadas de nata líquida, un pellizco de Avecrem Caldo de Pollo, pimienta, aceite</description>
        <preview />
      </document>
      <document>
        <name>CONFIT DE PATO A LA...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=6486&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=5597</url>
        <description>4 confits de pato, 3 manzanas , 2 naranjas, 1 copa de brandy, 100 gr. de azúcar, 1/2 limón, 1 pellizco de Avecrem Caldo de Pollo Granulado, pimienta, Salsa opcional:, 2 peras, 2 manzanas, 200 cc de nata, 1 bote de puré de castañas, 1 cuch. de mantequilla</description>
        <preview />
      </document>
      <document>
        <name>POLLO RELLENO</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=6522&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=5669</url>
        <description>1 pollo entero y vaciado, 30 gr. de manteca de cerdo, 1 cebolla, 1 diente de ajo, 250 gr. de carne de cerdo picada, 1 plátano, 1 manzana, pasas y piñones, 1 cucharadita de moka de páprika, 4 cucharadas de salsa de tomate, 1 pellizco de Avecrem Caldo de Pollo, 1 botella de cava benjamín</description>
        <preview />
      </document>
      <document>
        <name>PATO A LA NARANJA</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=7287&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=6101</url>
        <description>1 pato de 2 kg y medio, 6 naranjas de zumo, 2 vasos Cointreau, 100 gr. azúcar, 40 gr. margarina, 2 pastillas de Avecrem Caldo de Pollo -30% de sal</description>
        <preview />
      </document>
      <document>
        <name>Pinchitos de...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=9071&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=7914</url>
        <description>500 gr. de pechuga de pollo, 150 gr. de bacón, 150 gr. de queso en lonchas, 1 bote de Tomate Frito Gallina Blanca, 1 pastilla de Avecrem Caldo de Pollo</description>
        <preview />
      </document>
      <document>
        <name>Perdices con...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=9144&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=7952</url>
        <description>4 perdices , 3 dientes de ajo , 1 cebolla, 1 vaso de vino blanco , 1 vaso pequeño de vinagre de vino , 1/4 de litro de Caldo de Pollo Gallina Blanca, 1 trocito de chocolate negro, Aceite de oliva , 1 Pellizco de Avecrem Caldo de Pollo Granulado, pimienta, laurel, clavo molido</description>
        <preview />
      </document>
      <document>
        <name>Canelones de pollo...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=12777&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=13471</url>
        <description>1 pollo de corral, 2 cebollas, 2 zanahorias, 2 hojas de laurel, 4 tomates maduros , 1 cabeza de ajos, 1 pastilla de Avecrem Caldo de Pollo, Aceite de oliva, Sal y pimienta, 300 g de foie gras, Placas de Canelones El Pavo, Trufa (opcional), 20 g de colmenillas secas, 1 l de leche, 35 g de harina, 150 g de mantequilla</description>
        <preview />
      </document>
      <document>
        <name>POLLO DE CORRAL CON...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=13530&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=14584</url>
        <description>2 pechugas de pollo de corral deshuesadas, 4 melocotones de verano de pulpa amarilla, 100 ml. de salsa de soja (estilo japonés), 500 ml. de Caldo de Pollo Gallina Blanca, harina, aceite de oliva, sal, 50 gr. de azúcar</description>
        <preview />
      </document>
    </collectionPrintable>
  </collectionCategory>
  <collectionCategory>
    <name>Carnes</name>
    <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=22123&w=340&h=280</icon>
    <collectionPrintable>
      <document>
        <name>SOLOMILLOS AL WHISKY</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3164&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=1801</url>
        <description>1 kg. de solomillos de cerdo troceados, 4 dientes de ajos, 2 pastillas de Avecrem Caldo de Pollo, 1/2 vasito de whisky, aceite</description>
        <preview />
      </document>
      <document>
        <name>SORPRESAS DE...</name>
        <icon>http://www.gallinablanca.es/descargas/foto.aspx?id=3199&w=340</icon>
        <url>http://www.gallinablanca.es/pdf/hp.ashx?id=1821</url>
        <description>2 puntas de solomillo, queso en loncha, bacon, 1 sobre de Mi Salsa Carbonara, 1 pastilla de Avecrem Caldo de Carne -30% de sal</description>
        <preview />
      </document>
    </collectionPrintable>
  </collectionCategory>
</xml>

2 个答案:

答案 0 :(得分:2)

您可以使用内置的XML解析器获取Document,这样您就可以轻松访问此信息:

int docNodes = myDocument.getElementsByTagName("document").getLength();

答案 1 :(得分:2)

您可以使用优秀的dom4j library和XPath来快速计算:

List docNodes = document.selectNodes("//collectionPrintable/document");
docNodes.size(); // The number of all "document" nodes directly
                 //   under a "collectionPrintable" node.

如果你想在每个“collectionCategory”下面有“文档”节点的数量,你可以做类似下面的代码,它与dom4j v1.6.1一起使用:

Map<String, Integer> numDocsPerCat = new HashMap<String, Integer>();
String xpath = "//collectionCategory/collectionPrintable/document";
List<Node> docNodes = document.selectNodes(xpath);
for (Node n : docNodes) {
  Node catNameNode = n.selectSingleNode("../../name");
  if (catNameNode != null) {
    String categoryName = catNameNode.getText();
    Integer count = numDocsPerCat.get(categoryName);
    numDocsPerCat.put(categoryName, (count==null) ? 1 : count + 1);
  }
}
System.out.println(numDocsPerCat);
// {Arroces:20, Aves:20, Carnes:2}

执行此代码后,numDocsPerCat地图将包含以下条目:

numDocsPerCat.get("Arroces"); // => 20