问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么使用XMLDOMDocument生成一段xml代码?

发布网友 发布时间:2022-12-21 07:21

我来回答

2个回答

热心网友 时间:2023-10-07 22:56

1.
BOOL CXmlApp::InitInstance()
{
AfxOleInit();
...
}

2.
#import <msxml4.dll>

3.
void CXmlDlg::OnButton1()
{
// TODO: Add your control notification handler code here

MSXML2::IXMLDOMDocumentPtr pDoc;
MSXML2::IXMLDOMElementPtr xmlRoot ;

//创建DOMDocument对象
HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));
if(!SUCCEEDED(hr))
{
MessageBox("无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!");
}

//根节点的名称为china
pDoc->raw_createElement((_bstr_t)(char*)"china", &xmlRoot);
pDoc->raw_appendChild(xmlRoot, NULL);

MSXML2::IXMLDOMElementPtr childNode ;
pDoc->raw_createElement((_bstr_t)(char*)"City", &childNode);
childNode->Puttext("WuHan");//节点值
childNode->setAttribute("population","8,000,000");//属性名,属性值
childNode->setAttribute("area","10000");
xmlRoot->appendChild(childNode);

pDoc->raw_createElement((_bstr_t)(char*)"City", &childNode);
childNode->Puttext("ShangHai");
childNode->setAttribute("population","12,000,000");
childNode->setAttribute("area","12000");
xmlRoot->appendChild(childNode);

//保存到文件
//如果不存在就建立,存在就覆盖
pDoc->save("f:\he.xml");

}

生成的he.xml如下:

<china><City population="8,000,000" area="10000">WuHan</City><City population="12,000,000" area="12000">ShangHai</City></china>

---------------还有个例子
#include "stdafx.h"

#include "iostream.h"

#include "msxml.h"

#include "atlbase.h"

#import "msxml.dll" //引入类型库

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

int Exit();

void LoadFromString();

void CreateXML();

//XML文本模板

_bstr_t XMLTemple=" -11 9 ";

int main()

{

cout << " XML编程--示范程序 " << endl;

CoInitialize(NULL); //初始化COM 环境

cout << "------生成新的XML文本 ------" << endl;

CreateXML();

cout << "------读取已有XML文本 ------" << endl;

LoadFromString();

return Exit();

}

void CreateXML()

{

MSXML::IXMLDOMDocumentPtr pDoc;

HRESULT hr =pDoc.CreateInstance(__uuidof(MSXML::DOMDocument));

if(!SUCCEEDED(hr))

{

cout << "无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!" << endl;

Exit();

}

MSXML::IXMLDOMElementPtr pDocElement=pDoc->createElement("China");

pDoc->appendChild(pDocElement);

cout << "生成树根:\n" << pDoc->xml << endl;

MSXML::IXMLDOMElementPtr pNewChildElement;

pNewChildElement=pDoc->createElement("Beijing");

pNewChildElement->Puttext("-11");

pDocElement->appendChild(pNewChildElement);

cout << "添加节点:\n" << pDoc->xml << endl;

pNewChildElement=pDoc->createElement("Shanghai");

pNewChildElement->Puttext("9");

pNewChildElement->setAttribute("Weather",_variant_t("Cloudy"));

pDocElement->appendChild(pNewChildElement);

cout << "再添加节点:\n" << pDoc->xml << endl;

pDocElement->removeChild (pNewChildElement);

cout << "把刚加入的节点删除:\n" << pDoc->xml << endl;

}

void LoadFromString()

{

MSXML::IXMLDOMDocumentPtr pDoc;

HRESULT hr =pDoc.CreateInstance(__uuidof(MSXML::DOMDocument));

if(!SUCCEEDED(hr))

{

cout << "无法创建DOMDocument对象,请检查是否安装了MS XML Parser 运行库!" << endl;

Exit();

}

pDoc->loadXML(XMLTemple);

cout << "读取结果:\n" << pDoc->xml << endl;

MSXML::IXMLDOMElementPtr pDocElement=pDoc->GetdocumentElement();

MSXML::IXMLDOMElementPtr pElement=pDocElement->selectSingleNode("Shanghai");

pDocElement->removeChild(pElement);

cout << "定位删除Shanghai节点:\n" << pDoc->xml << endl;

cout << "保存结果 Save .....(模拟而已)" << endl;

cout << "\n 好了,就这么简单" << endl;

}

int Exit()

{

getchar();

return 1;

}

热心网友 时间:2023-10-07 22:56

google
XMLDOMDocument xml 生成
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小米电视65寸长宽多少厘米 天津冬天的温度标准是多少度 德国冬天温度是多少度 上海的冬天有多少度 浙江冬季温度是多少度 到了冬季哪些省份城市的气温是零度以上? 羊奶粉不溶解是怎么回事? fit和match和suitable的区别? Fit和 Suitable有什么区别? Fit和 "Suitable"有什么区别? codesys如何导出xml tcl电视头发是亮色的怎么调 彩虹岛情人节任务怎么做? 求大神告诉小爱怎么控制小米盒子3 小米盒子没蓝牙怎么连接小爱音箱 没学历没基础能学IT吗? 五分钟学GIS _ 可视化建模 找黎明的一首快歌!!! 黎明的快歌 歌词有一句是 有什么关系 求一首黎明的快歌 这是用什么软件弄得 路由器易展和ac+ap是一样的吗 再什么再什么的词语有哪些 windows7如何呼出软键盘. 小左请进:xps 13 风扇噪音问题+散热方法求助 现在回乡养牛*应该是支持还是不支持呢?我准备自家地搭建5OO平方的牛棚,找国土批,国土办不批,请 关于村民居住地养牛是否违法的相关法律法规有哪些? 谢谢 怎样自己申请加拿大大学? 修正肿节风分散片联合用药(总有效率&gt;95%) 麝香止痛贴膏.附桂风湿膏,伤湿止痛膏,各自的区别和针对性有哪些? XML文件生成 C# 弹道轨迹有哪些副本 怎么使手变白简单方法 如何手变白 了解皇太极看什么书正史 皇太极电子书txt全集下载 急求:努尔哈赤-皇太极时代清穿的一本书,内容如下: 皇太极驾崩前的最后圣旨,数百年后成为极品文物,为何却神秘失踪? 史书关于皇太极的描写是怎样的,期待 虾怎么挑选活虾 挑选大虾的方法 有做数字油画生意的同志注意了,我这有简装的数字油画批发了,超级便宜!!! 给装饰画上色,谨防假期假冒兼职骗人行为 朋友搬家,上门贺喜该带什么礼物 梦到水杯丢失捡了手机什么意思 浦发银行信用卡怎么绑定微信啊? 最全26种弹力带训练方法 说一说怎样用弹力带健身吧? 郑州西和郑州东哪个离市区近 郑州火车咱西站 东站有什么区别啊? 黑客网 在哪里有? 谁能介绍几个好的黑客网。。。