如何通过RapidXML获取XML文件中的注释节点内容?
获取RapidXML中注释节点的具体内容
嗨,你已经找对方向了——type()返回1确实说明这是一个注释节点(对应rapidxml::node_comment枚举值)。要拿到注释里的文本内容,直接调用节点的value()方法就可以了!
把你的代码改成这样就行:
xml_node<> *Node = Doc.first_node(); xml_node<> *Sub = Node->first_node("Task"); // 建议先做类型和非空判断,让代码更健壮 if (Sub && Sub->type() == rapidxml::node_comment) { std::cout << "Comment: " << Sub->value() << std::endl; }
运行后就能输出你想要的\GoogleUpdateTaskMachineCore内容了。
补充个小细节:RapidXML的注释节点会自动把<!--和-->之间的文本作为value()返回,完全符合你的需求。加上节点存在性和类型的判断,能避免空指针或者非注释节点带来的意外问题。
内容的提问来源于stack exchange,提问作者Poseidon Security
相关产品推荐
相关产品推荐

