循环读取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#里改如何写呢?
本来思路是先比对节点名称,如是的话就保存要删除节点的下标放在数组里。然后循环删除,但发现。。当我删除第一个后,所有节点下标数量都发生改变。。
就不能再按照之前纪录的节点 ......
Private Sub Command1_Click()
Dim MyString() As String
Open "a.xml" For Binary As #1 ' 打开刚创建的文件。
ReDim MyString(LOF(1) - 1)
Put #1, , MyRecord ' 读入所有字符到变量中 ......
我有一个类似的xml的 string,想通过遍历怎么个xml 输出我想要的element的值
xml 为:
<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
<RequestType>DISCOVER_XML_ME ......
思路:要用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 ......