Xerces C способ обратной записи обновленного xml в строку

#c #xerces #xerces-c

#c #xerces #xerces-c

Вопрос:

Я пытаюсь проанализировать XML-файл, расположенный в строке, и обновить некоторые атрибуты в xml. Я использую синтаксический анализатор xerces c для того же и использую MemBufInputSource и parse для того же.

  cout << "Got the string object" << endl;
        cout << "The XML is: " << str.str() << endl;
        string registrationRequest=str.str();


        XMLPlatformUtils::Initialize();
        XercesDOMParser *parser = new XercesDOMParser;
        parser->setValidationScheme(XercesDOMParser::Val_Never);
        parser->setDoNamespaces(false);
        parser->setDoSchema(false);

    MemBufInputSource registrationRequest_buf((const XMLByte*)registrationRequest.c_str(),
                        registrationRequest.size(), "dummy", false);

        parser->parse(registrationRequest_buf);
        DOMDocument *doc = parser->getDocument();
        DOMElement* elementRoot = doc->getDocumentElement();
        char *RootName = XMLString::transcode(elementRoot->getTagName());
        XMLCh *ns = XMLString::transcode("xmlns");
        XMLCh *val = XMLString::transcode("Some Value that I want to update");
        elementRoot->removeAttribute(ns);
        elementRoot->setAttribute(ns, val);

        DOMNodeList* children = elementRoot->getChildNodes();
        const  XMLSize_t nodeCount = children->getLength();
        val = XMLString::transcode("");
        for( XMLSize_t xx = 0; xx < nodeCount;   xx )
        {
         DOMNode* currentNode = children->item(xx);
            if( currentNode->getNodeType() amp;amp;  // true is not NULL
             currentNode->getNodeType() == DOMNode::ELEMENT_NODE ) // is element
             {
                DOMElement* currentElement
                                        = dynamic_cast< xercesc::DOMElement* >( currentNode );
                currentElement->setAttribute(ns, val);
             }
        }
  

Может кто-нибудь, пожалуйста, помочь, как я могу записать мой обновленный xml обратно в строку.