<?xml version="1.0" encoding="utf-16" ?>
<Standard std_no="CNS 3299-9-2011" name="">
<Section id="A1" name="标准类别" type="Text">
<Text page="0" />
</Section>
</Standard>已知xml文档的路径
CString xmlpath;
如何通过xml文件的读写达到下面的效果:
本人新手,谢谢
<?xml version="1.0" encoding="utf-16" ?>
<Standard std_no=3299-9-2011" name="">
<Section id="A1" name="类别" type="Text">
<Text page="0">这个</Text>
</Section>
</Standard>
解决方案 »
- 我在重载Ontimer事件时加上父类的Ontimer事件后就不触发了
- [原创&交流]DirectX 7.0 SDK在VC 6.0环境中使用的注意事项
- 自己写的源代码统计工具,在这之前用VB.net写了个,感觉需要framework2.0支持,太大受不了,用C++才几十K
- 用mfc实现算法的可视化
- 使用edit控件出现内存泄漏
- MCIWND播放媒体文件,怎么判断一个文件播放结束了
- 请问怎么做一个打开文件夹的对话框?
- 我如何把底色是白色的位图变为其他底色的位图?photoshop可以吗?
- 【菜鸟求助】谁能帮忙看一个MFC编写的画图程序呢?需要有放缩、旋转的功能
- ======== 那位大哥对RDP protocol 有研究 ================
- 怎么读取src文件里面的内容
- offsetofclass问题
<Standard std_no=3299-9-2011" name="">
<Section id="A1" name="类别" type="Text">
<Text page="0" />
</Section>
</Standard>写操作后xml<?xml version="1.0" encoding="utf-16" ?>
<Standard std_no=3299-9-2011" name="">
<Section id="A1" name="类别" type="Text">
<Text page="0">这个</Text>
</Section>
</Standard>
也可以纯粹的文本读写,读出XML文本中的所有数据,遍历查找到 <Text page="0">这里,然后添加内容,保存
IXMLDOMDocument2Ptr m_stdxmldoc;
m_stdxmldoc.CreateInstance("Msxml2.DOMDocument.6.0");
m_stdxmldoc->async = VARIANT_FALSE;
if (!(m_stdxmldoc->load(_variant_t(xmlpath))))
return false;
m_stdxmldoc->setProperty("SelectionLanguage","XPath");
IXMLDOMNodePtr _ptrnode;
//这句会出错,应该是查询语句的问题
_ptrnode = m_stdxmldoc->selectSingleNode(_T(".//*[@Section id='A1']"));
IXMLDOMElementPtr _ptrelem = (IXMLDOMElementPtr)_ptrnode;
_ptrelem->setAttribute(_T("Text"),_T("这个")); 我是用这种方法读写的,但是运行的时候会出现问题,请问查询语句应该怎么写,我是初学者,请指教
谢谢
xml.AddChildElem( "ITEM" );
xml.IntoElem();
xml.AddChildElem( "SN", "132487A-J" );
xml.AddChildElem( "NAME", "crank casing" );
xml.AddChildElem( "QTY", "1" );
xml.Save("c:\\UserInfo.xml");
效果如下:
<ORDER>
<ITEM>
<SN>132487A-J </SN>
<NAME>crank casing </NAME>
<QTY>1 </QTY>
</ITEM>
</ORDER>
浏览特定元素
CMarkup xml;
xml.Load("UserInfo.xml");
while ( xml.FindChildElem("ITEM") )
{
xml.IntoElem();
xml.FindChildElem( "SN" );
CString csSN = xml.GetChildData();
xml.FindChildElem( "QTY" );
int nQty = atoi( xml.GetChildData() );
xml.OutOfElem();
}
来自http://xinxinlx.blog.sohu.com/152050297.html,你参考参考吧!
不过你自己要先下载CMakeup类
IXMLDOMNodePtr _ptrnode;
_ptrnode = m_stdxmldoc->selectSingleNode(_T("Standard/Section[@id='A1']"));
IXMLDOMElementPtr _ptrelem = (IXMLDOMElementPtr)_ptrnode->GetfirstChild();
_ptrelem.put_text(_T("这个");难得有时间散分了