Hi:

 

I trying to read and write to my xml file. I am able to read from the file but when trying to update an element no errors are returned but the file is not updated I have attached my code for the write please help

 

<LicenseSystem>

            <ContactInfo>

                        <FirstName>abc</FirstName>

                    <LastName>def</LastName>

                    <Address1>my address</Address1>

                    <Address2></Address2>

                    <City>abc</City>

                        <State>new york</State>

                        <Zip1>12122</Zip1>

                        <Zip2></Zip2>

                        <Country>usa</Country>

                        <Phone></Phone>

                        <Email>[EMAIL PROTECTED]</Email>

            </ContactInfo>

           

….

<LicenseSystem>

 

 

 

DWORD XML::parseFile()

{

            if (m_parsed)

                        return ERROR_SUCCESS;

            if (m_parser != NULL)

            {

                        m_parser->parse(m_xmlFileName);

                        m_document = m_parser->getDocument();

                        if (m_document != NULL)

                        {

                                    m_parsed = true;

                                    return ERROR_SUCCESS;

                        }

            }

 

    return ERROR_INVALID_HANDLE;

}

 

DWORD XML::WriteUserInfo(PUSERINFO pUserInfo)

{

            if (pUserInfo == NULL)

                        return ERROR_NO_DATA;

 

            if (parseFile() != ERROR_SUCCESS)

                        return ERROR_INVALID_HANDLE;

 

            DOMNodeList* contactInfo = m_document->getElementsByTagName(L”ContactInfo”);

 

            if (contactInfo == NULL)

                        return ERROR_INVALID_HANDLE;

 

            DOMElement* element = (DOMElement *)contactInfo->item( 0 );

 

            SetElementText(element, L“FirstName”, pUserInfo->szFirstName);

            SetElementText(element, L” LastName”, pUserInfo->szLastName);

             …

            return ERROR_SUCCESS;

}

 

 

// -----------------------------------------------

DWORD XML::SetElementText(DOMElement *pElem,  LPCWSTR pzName,  LPCSTR  value)

{

    if( pElem != NULL )

    {

        DOMNodeList *pList = pElem->getElementsByTagName(pzName);

        if( pList->getLength() > 0 )

        {

            DOMElement *pElem = (DOMElement *)pList->item( 0 );

            DOMNode *pChild = pElem->getFirstChild();

 

            if( pChild )

            {

                        pChild->setNodeValue(XMLString::transcode(value));

                        return ERROR_SUCCESS;

            }

        }

    }

 

           

   return ERROR_INVALID_HANDLE;

}

 

Thanks vince.

Reply via email to