Ayudita vb.net con XML por favor!

MikLoN

Hola, estoy haciendo un programa de montar PC's a la carta seleccionando los componentes uno a uno mediante menús (orientados a objetos).

La duda está en que tengo un catálogo.xml con todos los componentes de cada tipo (placas base, procesadores, etc.) y no se como hacer para que me muestre todos los componentes de cada tipo, de menú en menú (osea que 1º me muestre un menú con las placasbase existentes en el catálogo, luego los tipos de procesadores, etc).

Tengo un catalogomanager que si logra mostrarme lo que yo quiera del catálogo, pero no se como coger el precio del componente seleccionado en un menú. La función que tengo preparada es esta:

Sub CalcularTotal(ByVal x As Logico.Componente) 'Ejecutarlo al final de cada selección
    Dim total As Decimal
    total = total + x.Precio
End Sub

Ayudadme un poquillo los que sepais, ¡por favor! :)


Un trozo del catálogo

<PlacaBase ID="3">
<Nombre>AMD - ASUS A8N32 SLI Deluxe (Socket939)</Nombre>
<Fabricante>ASUS</Fabricante>
<Modelo>A8N32 SLI Deluxe</Modelo>
<Precio>140,00</Precio>
</PlacaBase>

<PlacaBase ID="4">
  <Nombre>AMD - MSI K8N SLI FI (Socket939)</Nombre>
  <Fabricante>MSI</Fabricante>
  <Modelo>K8N SLI FI</Modelo>
  <Precio>170,00</Precio>
</PlacaBase>

<Procesador ID="5">
<Nombre>Intel Core 2 Duo E6400</Nombre>
<Fabricante>Intel</Fabricante>
<Modelo>Core 2 Duo E6400</Modelo>
<Precio>179,00</Precio>
</Procesador>

<Procesador ID="6">
<Nombre>Intel Core 2 Duo E6600</Nombre>
<Fabricante>Intel</Fabricante>
<Modelo>Core 2 Duo E6600</Modelo>
<Precio>214,00</Precio>
</Procesador>


Mi intención era que quedará asi:

PlacasBase:

Modelo 1 (95€)
Modelo 2 (70€)

'Al elegir un modelo, utilizaría una función que tengo para ir sumando el importe de cada componente, hasta el total.

Procesadores:

Modelo 1 (95€)
Modelo 2 (70€)

r2d2rigo

No te quedaria mejor cambiar los tags <Placabase> y <Procesador> por algo asi como <Componente tipo="Placabase"> y etcetera?

EDIT: hey, desde cuando pueden postearse palabras con formato de tag sin que pete?

MikLoN

No entiendo para que querría hacer eso :(

r2d2rigo

Pues porque asi unificas los tags, y supongo que sera mas facil buscar un elemento que tenga una propiedad "tipo" con el valor "Procesador" o "Placa Base" o "Grafica", que buscar un elemento definido por el tag <Procesador> o etc.

Vamos, es la idea que tengo yo del uso de XML... :P

kas

Lo que tienes no es una duda, es un problema, porque parece que no sabes por donde empezar.

Mirate los objetos del namesapece System.Xml, en concreto el XmlDocument.

Deberas cargar el archivo xml en un objeto como el XmlDocument, y a partir de ahi, llenar los combos con los campos que necesites.

Claramente esto sera mas facil si lo haces como te dice r2d2rigo ya que te sera mas facil hacer las busquedas por los nodos.

IS4kO

Si lo quieres deprisa y corriendo, mete el archivo en el xmlDocument y este se lo das a tragar a un dataSet y a rular...

kas

Eso dataset, estaba pensando antes yo en un dataGRID y no se lo queria decir al chaval xD

MikLoN

thx por la ayuda :P

Usuarios habituales

  • MikLoN
  • kas
  • IS4kO
  • r2d2rigo