c++读取XML数据,该如何解决
c++读取XML数据
xml文件内容:
<?xml version="1.0" encoding="utf-8"?>
<Position>
<P1>
<ON value1="1B" value2="24" value3="0D" value4="05" value5="04" value6="00" value7="0E" value8="00" value9="03" value10="01" value11="98"></ON>
<DOWN value1="1B" value2="24" value3="0D" value4="05" value5="04" value6="00" value7="0F" value8="00" value9="03" value10="01" value11="97"></DOWN>
</P1>
</Position>
现写一个C++程序,通过读取xml文件
BYTE on[11]={1B,。。。。};
BYTE down[11]={1B,。。。。};
求指点。。
------解决方案--------------------
CMarkUp xml;
xml.Load(strFileName);
xml.ResePos();
while(xml.FindChildElem())
{
//这里面就不知道了。
}
------解决方案--------------------
xml文件内容:
<?xml version="1.0" encoding="utf-8"?>
<Position>
<P1>
<ON value1="1B" value2="24" value3="0D" value4="05" value5="04" value6="00" value7="0E" value8="00" value9="03" value10="01" value11="98"></ON>
<DOWN value1="1B" value2="24" value3="0D" value4="05" value5="04" value6="00" value7="0F" value8="00" value9="03" value10="01" value11="97"></DOWN>
</P1>
</Position>
现写一个C++程序,通过读取xml文件
BYTE on[11]={1B,。。。。};
BYTE down[11]={1B,。。。。};
求指点。。
------解决方案--------------------
CMarkUp xml;
xml.Load(strFileName);
xml.ResePos();
while(xml.FindChildElem())
{
//这里面就不知道了。
}
------解决方案--------------------
- C/C++ code
while(xml.FindChildElem(_T("ON"))) { on[0] = (16进制转换函数) xml.GetAttrib("value1"); on[1] = (16进制转换代码) xml.GetAttrib("value2"); 。。。 }
------解决方案--------------------
tinyxml , msxml, cmarkup 太多类库了
XML解析库-tinyxml,MSXML相关技术文章资料汇总
------解决方案--------------------
- C/C++ code
CMarkUp xml; CString str; xml.Load(strFileName); xml.ResePos(); xml.FindElem(); // xml.IntoElem();//进入Position xml.FindElem(_T("P1")); // xml.IntoElem();//进入P1 if(xml.FindElem(_T("ON"))) { xml.IntoElem(); for(int i=0;i<11;i++) { str.Format(_T("value%d"),i+1); on[i] = _ttoi(xml.GetAttrib(str)); } xml.OutOfElem(); } if(xml.FindElem(_T("DOWN"))) { xml.IntoElem(); for(int i=0;i<11;i++) { str.Format(_T("value%d"),i+1); down[i] = _ttoi(xml.GetAttrib(str)); } xml.OutOfElem(); }