none
Como contar los nodos de tipo Lupulo RRS feed

  • Pregunta

  • Buenas

    Como puedo contar los nodos de tipo lupulo que tengo en el xml

    Gracias

    <?xml version="1.0" encoding="WINDOWS-1252"?>
    <Inventario>
      <Ingrediente>
        <Nombre>Nugget</Nombre>
        <Cantidad>0,241</Cantidad>
        <Fecha>21/09/2015</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Magnum</Nombre>
        <Cantidad>0,036</Cantidad>
        <Fecha>11/09/2015</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Amarillo</Nombre>
        <Cantidad>0,050</Cantidad>
        <Fecha>06/09/2015</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Nugget</Nombre>
        <Cantidad>0,247</Cantidad>
        <Fecha>12/09/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Nugget</Nombre>
        <Cantidad>0,487</Cantidad>
        <Fecha>15/09/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Nugget</Nombre>
        <Cantidad>0,215</Cantidad>
        <Fecha>24/09/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Nugget</Nombre>
        <Cantidad>0,300</Cantidad>
        <Fecha>27/09/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Chinook</Nombre>
        <Cantidad>0,047</Cantidad>
        <Fecha>06/09/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Chinook</Nombre>
        <Cantidad>0,133</Cantidad>
        <Fecha>19/08/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Columbus</Nombre>
        <Cantidad>0,150</Cantidad>
        <Fecha>26/08/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Columbus</Nombre>
        <Cantidad>0,050</Cantidad>
        <Fecha>09/09/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Magnum</Nombre>
        <Cantidad>0,047</Cantidad>
        <Fecha>26/08/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Magnum</Nombre>
        <Cantidad>0,034</Cantidad>
        <Fecha>29/08/2016</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Cooper Ale</Nombre>
        <Cantidad>4</Cantidad>
        <Fecha>04/09/2017</Fecha>
        <Tipo>Levadura</Tipo>
      </Ingrediente>
      <Ingrediente>
        <Nombre>Magnum</Nombre>
        <Cantidad>0,183</Cantidad>
        <Fecha>04/09/2017</Fecha>
        <Tipo>Lupulo</Tipo>
      </Ingrediente>
    </Inventario>

    lunes, 11 de septiembre de 2017 7:20

Respuestas

  • Puedes hacer algo como esto:

    Imports System.IO
    Imports System.Xml
    
    Public Class Form1
    
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    
            Dim m_xmld As XmlDocument
    
            Dim m_nodelist As XmlNodeList
    
            Dim m_node As XmlNode
    
            m_xmld = New XmlDocument()
    
            m_xmld.Load("C:\borrar\Fichero.xml")
    
            m_nodelist = m_xmld.SelectNodes("/Inventario/Ingrediente")
    
            Dim Contador As Integer = 0
    
            'Iniciamos el ciclo de lectura
    
            For Each m_node In m_nodelist
    
                Dim mTipo As String = m_node.SelectSingleNode("Tipo").InnerText.ToUpper
    
                If mTipo = "LUPULO" Then
                    Contador += 1
                End If
    
            Next
    
            MsgBox(Contador)
        End Sub
    End Class


    Saludos, Javier J

    • Marcado como respuesta JETET martes, 12 de septiembre de 2017 15:32
    lunes, 11 de septiembre de 2017 7:43
  • Deleted
    • Marcado como respuesta JETET martes, 12 de septiembre de 2017 15:33
    lunes, 11 de septiembre de 2017 11:14

Todas las respuestas

  • Puedes hacer algo como esto:

    Imports System.IO
    Imports System.Xml
    
    Public Class Form1
    
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    
            Dim m_xmld As XmlDocument
    
            Dim m_nodelist As XmlNodeList
    
            Dim m_node As XmlNode
    
            m_xmld = New XmlDocument()
    
            m_xmld.Load("C:\borrar\Fichero.xml")
    
            m_nodelist = m_xmld.SelectNodes("/Inventario/Ingrediente")
    
            Dim Contador As Integer = 0
    
            'Iniciamos el ciclo de lectura
    
            For Each m_node In m_nodelist
    
                Dim mTipo As String = m_node.SelectSingleNode("Tipo").InnerText.ToUpper
    
                If mTipo = "LUPULO" Then
                    Contador += 1
                End If
    
            Next
    
            MsgBox(Contador)
        End Sub
    End Class


    Saludos, Javier J

    • Marcado como respuesta JETET martes, 12 de septiembre de 2017 15:32
    lunes, 11 de septiembre de 2017 7:43
  • Deleted
    • Marcado como respuesta JETET martes, 12 de septiembre de 2017 15:33
    lunes, 11 de septiembre de 2017 11:14
  • Gracias por responder a todos
    martes, 12 de septiembre de 2017 15:34