循环读取XML值 - VC/MFC / 基础类
<version_description>
<version>123</version>
<custom_id>456</custom_id>
<release_date>789</release_date>
<module>server</module>
</version_description>
读取上面version_description下面多有的值。
下面这段代码如何循环读取并用MessageBox单个显示呢?
xmlNode=(MSXML2::IXMLDOMElementPtr)(pXMLDoc->selectSingleNode(_T("//version_description")));
VARIANT varVal;
xmlNode->get_nodeTypedValue(&varVal);
CString strValue = (TCHAR*)(_bstr_t)varVal;
CString str(varVal.bstrVal);
MessageBox(strValue);
xml不就是个树啊, 呵呵, 那遍历树, 有中序, 前序, 后序啊. 算法google立马找到.
然后自己建立个CMap的映射, 关键字为xml节点名字(CString), 值为遍历到该节点的函数地址(&YourFunction(..))
相关问答:
内容如题。。在C#里改如何写呢?
本来思路是先比对节点名称,如是的话就保存要删除节点的下标放在数组里。然后循环删除,但发现。。当我删除第一个后,所有节点下标数量都发生改变。。
就不能再按照之前纪录的节点 ......
思路:要用c#生成一个播放机的播放列表的xml,例如:
<daty datys='2010-04-05' datye='2010-05-01' > //这是播放的日期段
<time times='01:12:00' timee='02:30:00'> ......
我用XmlDocument生成XML
XmlElement remarkNode = node.OwnerDocument.CreateElement("remark");
remark1Node.InnerXml = "";
如果InnerXml赋值不为空,则生成的标记是没问题的,比如:<r ......
<?xml version="1.0" encoding="utf-8" ?>
<HuiSin>
<admin>100,100</admin>
<user>200,200</user>
怎样在这里添加一个新的呢?
< ......
loadxmldoc.js文件内容:
function loadXMLDoc(dname)
{
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
&nb ......