Well yes and no. The getTextContent method is distributed with version 2.3. But it contains a bug. I hope that a committer has put the patch into the nightly build by now.
If you are compiling Xerces yourself then it is a breeze to extend your 2.2 version to support getTextContent. Just put the following code in DOMNodeImpl.h. const XMLCh* getTextContent(XMLCh* pzBuffer, unsigned int& rnBufferLength) const; const XMLCh* getTextContent() const ; And the following in DOMNodeImpl.cpp. const XMLCh* DOMNodeImpl::getTextContent(XMLCh* pzBuffer, unsigned int& rnBufferLength) const { unsigned int nRemainingBuffer = rnBufferLength; rnBufferLength = 0; if (pzBuffer) *pzBuffer = 0; DOMNode *thisNode = castToNode(this); switch (thisNode->getNodeType()) { case DOMNode::ELEMENT_NODE: case DOMNode::ENTITY_NODE: case DOMNode::ENTITY_REFERENCE_NODE: case DOMNode::DOCUMENT_FRAGMENT_NODE: { DOMNode* current = thisNode->getFirstChild(); while (current != NULL) { if (current->getNodeType() != DOMNode::COMMENT_NODE && current->getNodeType() != DOMNode::PROCESSING_INSTRUCTION_NODE) { if (pzBuffer) { unsigned int nContentLength = nRemainingBuffer; castToNodeImpl(current)->getTextContent(pzBuffer + rnBufferLength, nContentLength); rnBufferLength += nContentLength; nRemainingBuffer -= nContentLength; } else { unsigned int nContentLength = 0; castToNodeImpl(current)->getTextContent(NULL, nContentLength); rnBufferLength += nContentLength; } } current = current->getNextSibling(); } } break; case DOMNode::ATTRIBUTE_NODE: case DOMNode::TEXT_NODE: case DOMNode::CDATA_SECTION_NODE: case DOMNode::COMMENT_NODE: case DOMNode::PROCESSING_INSTRUCTION_NODE: { const XMLCh* pzValue = thisNode->getNodeValue(); unsigned int nStrLen = XMLString::stringLen(pzValue); if (pzBuffer) { unsigned int nContentLength = (nRemainingBuffer >= nStrLen) ? nStrLen : nRemainingBuffer; XMLString::copyNString(pzBuffer + rnBufferLength, pzValue, nContentLength); rnBufferLength += nContentLength; nRemainingBuffer -= nContentLength; } else { rnBufferLength += nStrLen; } } break; } return pzBuffer; } const XMLCh* DOMNodeImpl::getTextContent() const { unsigned int nStringLength = 0; getTextContent(NULL, nStringLength); XMLCh* pzBuffer = (XMLCh*) ((DOMDocumentImpl*)getOwnerDocument())->allocate((nStringLength+1) * sizeof(XMLCh)); getTextContent(pzBuffer, nStringLength); pzBuffer[nStringLength] = 0; return pzBuffer; } Regards Erik Rydgren Mandarin IT Sweden > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: den 11 juli 2003 21:54 > To: [EMAIL PROTECTED] > Subject: getTextContent() > > > Do I have to upgrade to 2.3 to be able to use getTextContent()? I am > currently using 2.2 and am a little apprehensive about upgrading....but I > will if I have to. > > Thanks. > > > > --------------------------------------------------------------------- > 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]