怎么把XML的一个节点集打印到listbox里

如何把XML的一个节点集打印到listbox里
<Button>
  <Point ID="0">Point.x=206,point.y=209</Point> 
  <Point ID="1">Point.x=317,point.y=196</Point> 
  <Point ID="2">Point.x=384,point.y=147</Point> 
  <Point ID="3">Point.x=436,point.y=195</Point> 
  <Point ID="4">Point.x=379,point.y=248</Point> 
</Button>
比如这个简单的XML文件,我打算把Point的 x,y的值打印到listbox控件里。
 目前我想到的唯一办法是用一个循环,每次按ID这个属性查找这个节点 比如 xmlNode= (MSXML2::IXMLDOMElementPtr)(xmlDoc->selectSingleNode("/Button/Point[@ID='1']")); 查找到ID=1的节点 再打印到listbox里  但是这个语句[@ID=' '] 里面不能放变量 所以无法循环。。有什么办法吗?或者好的方法? 谢谢各位!
------最佳解决方案--------------------

MSXML2::IXMLDOMNodeListPtr points = xmlDoc->selectSingleNode("/Button/Point");
int n = points->length;
for (int i=0; i<n; i++)
{
    MSXML2::IXMLDOMElementPtr xmlNode = (MSXML2::IXMLDOMElementPtr)points->item(i);
}


------其他解决方案--------------------
俺都用TinyXML的,你用DOM,可以看看这个

DOM操作XML
------其他解决方案--------------------
系统提示points->item(i)处错误, item是points的一个成员变量吧。能这么用吗? 但是我用Getitem程序运行后会崩溃。。
引用:
C/C++ code


MSXML2::IXMLDOMNodeListPtr points = xmlDoc->selectSingleNode("/Button/Point");
int n = points->length;
for (int i=0; i<n; i++)
{
    MSXML2::IXMLDOMElementPtr xmlNode = (MSXML2::IX……

------其他解决方案--------------------
 目前的情况是
MSXML2::IXMLDOMNodeListPtr points = xmlDoc->selectSingleNode("/Button/Point");
int n = points->length;
for (int i=0; i<n; i++)
{
  MSXML2::IXMLDOMElementPtr xmlNode = (MSXML2::IXMLDOMElementPtr)points->item[i];
}
 程序不报错,但是一运行 就会崩溃。。。 什么情况?