Ver Mensaje Individual
  #3  
Antiguo 03-07-2011
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Reputación: 16
noob Va por buen camino
Os pongo un ejemplillo:

El el .h declaráis este atributo privado:
Código:
    TXmlParser* XmlParser;
En el .cpp:
Código:
    XmlParser->LoadFromFile("C:\\Archivos de programa\\Borland\\CBuilder6\\Projects\\xmlfiles\\test.xml");
    XmlParser->Normalize = true;
    XmlParser->StartScan();

    while (XmlParser->Scan())
    {
      switch(XmlParser->CurPartType)
      {
      case ptXmlProlog:
        {
        ShowMessage("case ptXmlProlog:");
        }
        break;
      case ptDtdc:
        {
         ShowMessage("case ptDtdc:");
        }
        break;
      case ptStartTag:
        {
        ShowMessage("case ptStartTag: " + XmlParser->CurName);
        }
      case ptEmptyTag  :
        {
        TAttrList* list = XmlParser->CurAttr;
        for (int i(0); i < list->Count; i++)
                ShowMessage("case ptEmptyTag: list->Name(i): " + list->Name(i) + ": " + list->Value(i));
        }
        break;
      case ptEndTag:
        {
        ShowMessage("case ptEndTag: " + XmlParser->CurName);
        }
        break;
      case ptContent:
        {
        ShowMessage("case ptContent: " + XmlParser->CurContent);
        }
        break;
      case ptCData:
        {
        ShowMessage("case ptContent :");
        }
        break;
      case ptComment:
        {
        ShowMessage("case ptComment :");
        }
        break;
      case ptPI:
        {
        ShowMessage("case ptPI :");
        }
        break;
     }
    }
Le podéis pasar este documento XML para probar:

Código:
<?xml encoding="XXX" standalone="yes"?>
	<cuadrado id="cuadradoUNO" lado="5">
	        <posicion x="5" y="7" />
	</cuadrado>
	< cuadrado id="cuadradoDOS" lado="19"> <!--Error de escritura-->
	        <posicion x="10" y="33" / >
	</cuadrado >
	<circulo id="circuloUNO" radio="2" >
	        <posicion x="5" y="7"/>
	</circulo>	
	<cuadrado id= "cuadrado TRES" lado="2"> <!--Se ingresa un error de escritura-->	       
	        <posicion x="010" y="66" />
	</cuadrado>	
	<rectangulo id="rectanguloUNO" base="5" altura="8">
	        <posicion x="5" y=" " /> <!--Se ingresa un caracter vacio-->
	</rectangulo>
	<segmento id="segmentoUNO" >
	        <inicio x="50" y="12" /> <!--No se ingresa un subatributo  obligatorio-->
	        <fin>esto es el fin</fin>
	</segmento>
Responder Con Cita