怎么把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=' '] 里面不能放变量 所以无法循环。。有什么办法吗?或者好的方法? 谢谢各位!
------最佳解决方案--------------------
------其他解决方案--------------------
俺都用TinyXML的,你用DOM,可以看看这个
DOM操作XML
------其他解决方案--------------------
系统提示points->item(i)处错误, item是points的一个成员变量吧。能这么用吗? 但是我用Getitem程序运行后会崩溃。。
------其他解决方案--------------------
目前的情况是
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];
}
程序不报错,但是一运行 就会崩溃。。。 什么情况?
<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程序运行后会崩溃。。
------其他解决方案--------------------
目前的情况是
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];
}
程序不报错,但是一运行 就会崩溃。。。 什么情况?