Xerces DomParser,获取子节点的名称

时间:2017-08-03 09:25:24

标签: c++ xerces domparser

我试图获取一个返回父节点的第一个子节点名称的函数。

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。

0 个答案:

没有答案