如何使用QDomDocument获取子节点的值?

Tam*_*lei 1 c++ xml qt dom qtxml

收到这样的字符串:

<invoke name="CanClose" returntype="xml">
   <arguments>
       <string># 998.40</string>
       <number>49920</number>
   </arguments>
</invoke>
Run Code Online (Sandbox Code Playgroud)

我想用它QDomDocument来获取参数'子节点的索引值(我希望在示例中提取字符串"#998.40"和"49920").

这是我试过的:

QString argument(int index)
{
    QDomNode arg = xml->elementsByTagName("arguments").at(index);
    return arg.nodeValue();
}
Run Code Online (Sandbox Code Playgroud)

但即便arg是空洞的.我在这做错了什么?

提前致谢.

Tam*_*lei 7

显然,节点内的文本本身也是一个节点.这是它的工作原理:

QString argument(int index)
{
    QDomNode arg = xml->firstChild().namedItem("arguments");
    return arg.childNodes().at(index).firstChild().nodeValue();
}
Run Code Online (Sandbox Code Playgroud)