FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Pregunta sobre ficheros XML
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Pregunta sobre ficheros XML
Posted: Mon Dec 13, 2010 08:04 AM
Hola foreros.

Estoy probando los comands de xHarbour que manejan ficheros XML, como TXmlDocument(), TXmlIterator, etc... y mi pregunta es: Existen tipos diferentes de ficheros XML? ¿es decir ficheros XML con estructuras internas diferentes?

He seguido los pasos de thefull en su post: viewtopic.php?f=6&t=4116

Pero me encuentro con un problema, tengo distintos fiheros XML que los habro bien con editores de ficheros XML pero con TXmlDocument() me sale siempre oXml:nStatus = 5 es decir HBXML_STATUS_MALFORMED y no puedo recorrer los distintos nodos. Sin embargo esos ficheros los crea un programa especifico y los lee perfectamente.

Por eso me pregunto si ¿es que mi xHarbour (build 0.99.71 del 2007) es demasiado antiguo para ficheros XML demasiado modernos?

Esta es la estructura de dichos ficheros (he respetado todos los espaciados, puntuaciones e interlineados originales):

Code (fw): Select all Collapse
<?xml version="1.0"?>

<PGFun:Web
 xmlns:PGFun = "http://www........."
>

<PGFun:ParamSet
>

  <PGFun:Equipos
   Contadores = "3"
  >

    <PGFun:NContadores
     Numero = "0"
     Nombre = "PL1_PP Hz"
    >
    </PGFun:Contadores  >

    <PGFun:Contadores
     Numero = "1"
     Nombre = "PL2_RG Hz"
    >
    </PGFun:Contadores  >

    <PGFun:Contadores
     Numero = "2"
     Nombre = "PL0_RT Hz"
    >
    </PGFun:Contadores  >

    <PGFun:Tarjetas
     ParaSetCount = "42"
    >

      <PGFun:CompoTarjeta
       CompoTarjetaPCB = "0"
       CompoTarjetaCDG = "0"
       CompoTarjetaRGH = "1"
       CompoTarjetaNMN = "3"
      >

        <PGFun:Parametro
         ParametroPCB = "0"
         ParametroCDD = "0"
         ParametroNMB = "2"
         ParametroFFG = "8"
        >

          <PGFun:Componentes
           ComponenteFFG = "7F00F4C"
           ComponenteLKL = "45B600A"
           ComponenteRTT = "100A7EB"
           ComponenteTYH = "2A67D50"
           ComponenteJSE = "038E044"
           ComponenteDNU = "56BE09E"
           ComponenteVDD = "267E9FA"
          >
          </PGFun:Componentes        >
        </PGFun:Parametro      >

        <PGFun:Parametro
         ParametroPCB = "0"
         ParametroCDD = "0"
         ParametroNMB = "2"
         ParametroFFG = "8"
        >
          <PGFun:Componentes
           ComponenteFFG = "2A67D50"
           ComponenteLKL = "45B600A"
           ComponenteRTT = "1E65FF8"
           ComponenteTYH = "2A67D50"
           ComponenteJSE = "21FF7E8"
           ComponenteDNU = "100A7EB"
           ComponenteVDD = "267E9FA"
          >
          </PGFun:Componentes        >
        </PGFun:Parametro      >

        <PGFun:Parametro ....
     ...

      <PGFun:Componentes ......
       ...
       ...
          </PGFun:Componentes        >
        </PGFun:Parametro      >

        <PGFun:Parametro ....

     ...
     ...

        </PGFun:Parametro      >

       ...
       ...

      <PGFun:CompoTarjeta
           ComponenteFFG = "1E65FF8"
           ComponenteLKL = "45B600A"
           ComponenteRTT = "267E9FA"
           ComponenteTYH = "21FF7E8"
           ComponenteJSE = "038E044"
           ComponenteDNU = "56BE09E"
           ComponenteVDD = "33DA60F"
      >
        <PGFun:Parametro ....

     ...
     ...

        </PGFun:Parametro      >

     ...
     ...

      </PGFun:CompoTarjeta    >
    </PGFun:Tarjetas  >
  </PGFun:Equipos>
</PGFun:ParamSet>

<PGFun:Elementos
 Contador = "80"
>

  <PGFun:Limeas
   Equipo = "0"
   Componenets = "20"
  >

    <PGFun:LinCompo
     Compo1 = "200344832"
     Compo2 = "verificado"
     Compo3 = "19660"
     Compo4 = "Rojo"
     Compo5 = "18"
     Compo6 = "mm"
    >
    </PGFun:LinCompo  >

    <PGFun:LinCompo
     Compo1 = "103308113"
     Compo2 = "verificado"
     Compo3 = "12003"
     Compo4 = "Verde"
     Compo5 = "7"
     Compo6 = "mm"
    >
    </PGFun:LinCompo  >

    <PGFun:LinCompo
     Compo1 = "303772732"
     Compo2 = "no verificado"
     Compo3 = "83243"
     Compo4 = "Magenta"
     Compo5 = "32"
     Compo6 = "gr"
    >
    </PGFun:LinCompo  >
     ...
     ...
    </PGFun:LinCompo  >

     ...
     ...

  </PGFun:Limeas>

   ...
   ...

  </PGFun:Limeas>
</PGFun:Elementos>
</PGFun:Fim>

¿Alguna idea?

Gracias
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55

Continue the discussion