Here is the code that I implemented.  At the bottom of the file is the complete XML 
file that I am parsing.
I capture all six person id's and their values.   The i loop captures all the id's. 
The k loop is where I try to capture the tags and values within each person id block.  
 My approach is not correct. But I think I am close. Is there a suggestion to capture 
the rest of these tags?

        DOMNodeList* personList= 0;
        DOMNodeList* childList =0;
        DOMDocument* myDocument = 0;
        static XMLCh *pOutputEncoding[5];
    try
    {
        
        parser->parse(gXmlFile);

        myDocument = parser->getDocument();
        pOutputEncoding[0] = XMLString::transcode( "person" );
        pOutputEncoding[1] = XMLString::transcode( "id" );
        pOutputEncoding[2] = XMLString::transcode( "email");
        pOutputEncoding[3] = XMLString::transcode( "link");

        personList = myDocument->getElementsByTagName(pOutputEncoding[0]);
        
        DOMNode* currentNode;
        DOMNode* currTagName;
        char* Node_Name;
        
        DOMNamedNodeMap* nextNode;

        for (int i=0; i<personList->getLength(); i++)           
                {
                currentNode = personList->item(i);
                nextNode = currentNode->getAttributes();


                currTagName = nextNode->getNamedItem(pOutputEncoding[1]);
                Node_Name = XMLString::transcode(currTagName->getNodeValue());
                printf("person id = %s\n", Node_Name);
                
                childList = currentNode->getChildNodes();
                for(int k = 0; k<childList->getLength(); k++)
                {
                        currentNode = childList->item(k);

                        if(nextNode = currentNode->getAttributes())
                        {
                                currTagName = 
nextNode->getNamedItem(currentNode->getNodeName());
                                Node_Name = 
XMLString::transcode(currTagName->getNodeValue());
                                printf("email = %s\n", Node_Name);
                        }
                }

*********************************************************************************************************
XMLFILE:

  <personnel>
        <person id="Big.Boss">
                <name>
                        <family>Boss</family> 
                        <given>Big</given> 
                </name>
                <email>[EMAIL PROTECTED]</email> 
                <link subordinates="one.worker two.worker three.worker four.worker 
five.worker" /> 
        </person>
        <person id="one.worker">
                <name>
                        <family>Worker</family> 
                        <given>One</given> 
                </name>
                <email>[EMAIL PROTECTED]</email> 
                <link manager="Big.Boss" /> 
        </person>
        <person id="two.worker">
                <name>
                        <family>Worker</family> 
                        <given>Two</given> 
                </name>
                <email>[EMAIL PROTECTED]</email> 
                <link manager="Big.Boss" /> 
        </person>
        <person id="three.worker">
                <name>
                        <family>Worker</family> 
                        <given>Three</given> 
                </name>
                <email>[EMAIL PROTECTED]</email> 
                <link manager="Big.Boss" /> 
        </person>
        <person id="four.worker">
                <name>
                        <family>Worker</family> 
                        <given>Four</given> 
                </name>
                <email>[EMAIL PROTECTED]</email> 
                <link manager="Big.Boss" /> 
        </person>
        <person id="five.worker">
                <name>
                        <family>Worker</family> 
                        <given>Five</given> 
                </name>
                <email>[EMAIL PROTECTED]</email> 
                <link manager="Big.Boss" /> 
        </person>
  </personnel>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to