XML获取节点的属性值

时间:2012-05-01 13:58:40

标签: c++ xml xmldom

我在C ++中使用XML DOM API来解析XML文件。我找不到任何方法来获取节点元素中的属性值。

例如,在以下xml

<test>
<fruit count="10">
...
...
</fruit>
<test>

我需要使用XML API获取计数字符串(“10”)。任何人都可以帮我一些代码片段。

2 个答案:

答案 0 :(得分:1)

使用 DOM Parser API 获取属性值计数。

参考以下示例代码:

//code to perform some process for parsing the input file and get rootElement

DOMNodeList* fruitNodes= rootElement->getElementsByTagName(XMLString::transcode("fruit"));

DOMNode* node = fruitNodes->item(0);

DOMElement* fruitElement = dynamic_cast <xercesc::DOMElement*>(node);

const XMLCh* attrValue = fruitElement->getAttribute(XMLString::transcode("count"));

您可以使用以下命令从 attrValue 获取值 10:string(XMLString::transcode(attrValue))

答案 1 :(得分:0)

基于http://msdn.microsoft.com/en-us/library/windows/desktop/ms754523(v=vs.85).aspx

尝试类似:

pXMLDomNodeList = pXMLDocElement->selectNodes("/test/fruit/@count");