以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  紧急求助:怎么在VC下遍历某一节点的所有属性及属性值  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=12375)


--  作者:leeweir
--  发布时间:11/29/2004 4:31:00 PM

--  紧急求助:怎么在VC下遍历某一节点的所有属性及属性值
请各位高手帮帮我
如xml文档为
<Task>
      <manipulator name="leftArm">
            <initialPos x="256" y="116">
            </initialPos>
      </manipulator>
</Task>
怎么样取得manipulator的属性节点name及该属性节点的值
紧急求助,谢谢各位了:)

--  作者:doubleG
--  发布时间:11/29/2004 4:49:00 PM

--  
你是用MSXML吗?如果是的话对于一个XmlNode来说有一个属性Attributes,返回该节点的属性列表。
--  作者:leeweir
--  发布时间:11/29/2004 5:24:00 PM

--  
是的,我是用的MSXML
我要得到manipulator节点的属性name的值时,程序是这样(pNode此时指向根节点Task):
IXMLDOMNamedNodeMap *attribute;
IXMLDOMNode *namedItem;
BSTR nodename=::SysAllocString(L"name");
_variant_t value;
pNode->get_attributes(&attributeMap);
attributeMap->getNamedItem(nodename,&namedItem);
namedItem->get_nodeValue(&value);
可是我得不到值,为什么呢?是不是pNode应该指向manipulator才对啊?

         


--  作者:Rayz
--  发布时间:12/15/2004 8:44:00 AM

--  
属性只属于节点而不属于整个元素,你现在的pNode指向的是根节点,
而根节点此时没有属性,所以你返回的value值为空,
你应该把MSXML2::IXMLDOMNodePtr pNode 指针指到
<manipulator name="leftArm">节点,然后才能得到属性MAP,
然后得到值

--  作者:sunzhenbing
--  发布时间:4/30/2005 6:59:00 PM

--  
使用一个指针指向属性链表,
依次取属性结点,pNode.value就行了呀
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms