[Ilugc] LibXML Reading Attributes

  • From: vijairaj.r@xxxxxxxxx (Vijairaj)
  • Date: Thu May 11 15:20:45 2006

On 5/10/06, Bharathi Subramanian <sbharathi@xxxxxxxxxxxxx> wrote:


Hi,

Anybody written a C program to read the XML Tag attributes value using
LibXML2? Kindly share with me. I am unable get an idea from the
LibXML2 API docs (http://xmlsoft.org/) for doing this.

<myTag myAttribute="1">


I haven't used this particular parser but have used another famous parser -
expat.
Where its is needed to simple set the appropriate handler, here
sc_parse_start
is called every time a new tag appears in the data, ppchAttr contains the
attribute values pairs.

eg:

void XMLCALL sc_parse_start(
        void* pContext,
        const char* pchElement,
        const char** ppchAttr
        )
{
        //ppchAttr -> Attr, value
}

void XMLCALL sc_data(
        void* pContext,
        const char* pchData,
        int nLen
        )
{
}

void XMLCALL sc_parse_end(
        void* pContext,
        const char* pchElement
        )
{
}


int main()
{
        XML_Parser x_parser;
        x_parser = XML_ParserCreate(NULL);
        XML_SetUserData(x_parser, this);
        XML_SetElementHandler(x_parser, sc_parse_start, sc_parse_end);
        XML_SetCharacterDataHandler(x_parser, sc_data);

        status = XML_Parse(x_parser, achBuf, rcount, feof(pFile));
}

--
Vijairaj

Other related posts: