我试图获取一个返回父节点的第一个子节点名称的函数。
std::string XmlParser::XmlDomDocument::getChildNodeName(const char* parentTag, int parentIndex){
XMLCh* temp = XMLString::transcode(parentTag);
DOMNodeList* list = m_doc->getElementsByTagName(temp);
XMLString::release(&temp);
DOMNode *parentnode = dynamic_cast<DOMNode*>(list->item(parentIndex));
DOMNode *childnode= parentnode->getFirstChild();
char* temp2 = XMLString::transcode(childnode->getNodeName());
string value = temp2;
XMLString::release(&temp2);
return value;
}
例如,返回&#34;节点b&#34;在以下XML的情况下:
<node a>"AAA"</node a>
<node b>"BBB"</node b>
不知道出了什么问题,我可以启动该功能,但它会返回字符串&#34; #text&#34;而不是节点名称。
我正在使用带有C ++的Xerces DomParser。