说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何用Schema验证XML文档

编辑:说三道四文库 发布时间:2017-11-18 03:30
HTML文档下载 WORD文档下载 PDF文档下载
请问各位XML大虾,如何编程实现Schema验证XML文档,包括其各个字段的数据类型?
up
难道就没有人能够解决这个问题么??????
如能解决,再结贴送500分!!!!
// xmltest.cpp : Defines the entry point for the console application.
//

#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="<China><Beijing> -11 </Beijing><Beijing>-20</Beijing><Shanghai Weather=\"Cloudy\"> 9 </Shanghai></China>"; 

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); 

MSXML::IXMLDOMNodeListPtr pLists = pDocElement->selectNodes("Beijing");
long n = pLists->Getlength();
for (int i = 0; i < n; i++)
{
MSXML::IXMLDOMElementPtr pDocElement = pLists->Getitem(i);
cout << pDocElement->Gettext() << endl;
}

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

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

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


int Exit() 

getchar(); 
return 1; 

http://expert.csdn.net/Expert/TopicView1.asp?id=2146670
关闭屏幕保护功能,改变屏保等待时间 -VB资料 VB获取桌面窗口图象 红色警戒&amp;终级动员令-VB资料 检查是否安装声卡 -VB资料 将 .flc 动画档放在某一个 hWnd 之中播放 -VB资料 截取屏幕图像-VB资料 开机,自动更换墙纸 -VB资料 控制PC喇叭 -VB资料 利用VB测声卡 利用VB进行多媒体程序设计初步 利用Visual Basic设计多媒体应用程序 满屏播放AVI文件-VB资料 平铺贴图背景 -VB资料 破解WINDOWS屏幕保护密码 -VB资料 巧用VB编程使XMPLAYER自动播放VCD VB取得 WAV 文件信息 趣味撞球VB5应用程序一例 VB如何从&quot;SOUND.DRV&quot;中提取声音 VB如何设定墙纸的显示方式? VB如何用API及MMSYSTEM.DLL播放AVI文件 VB如何知道计算机是否安装声卡? 设计简单的屏幕保护程序 -VB资料 使机箱内的小喇叭发出不同的声音 -VB资料 使用VB设计具有「动感」的命令图标栏 五彩缤纷的清屏效果-VB资料 系统是否支持声音 -VB资料 一个实用的VB屏幕程序 一个自动更换墙纸的小软件-VB资料 VB用 VB 设 计 VCD 播 放 器 VB用API播放 .wav 声音文件 VB用MCI指令进行多媒体编程 各位大虾帮帮忙!!!必有重谢!!! 求助二维数组排序问题? 那里有Delphi下载啊? 下面的代码总出错 如果指针被阉割掉以后... 哪位提供一点关于开发小型dbms系统的odbc驱动程序的资料啊? 探讨DMBS??? 关于数据库操作一问? ***禁止重复登录?*** cout流的执行方式问题!请高手回答!不胜感激!!! 欢迎广临(API打印)CDC if (know && 高手) 值得讨论 else 有收获的; 在线等候 咋再MS SQL中实现这个查询? 通过ADSI验证用户登录的问题。 寻找控制面板编程方法 怎么判断类是否存在? 能通过网络修改其它机器的IP地址么?请教各位大侠,在线等!!! 求一段代码:如何得到硬盘的物理系列号,可以用来做为本机唯一标识! 在c++builder中怎样控制excel图表(急!!) 请问如何注册控件并调用、???谢谢 delphi连ACCESS怎么连,具体点。 一道有关类的习题 关于FORM使用的问题,请高手帮忙!!!!!!!!!! 有一个问题! ADOCommand 的问题 如何执行资源中的EXE文件!高手帮帮忙! 根据年份和月份得到天数? 水晶报表问题 请问用DELPHI做电子商务网有什么好书介绍? 数据库序列中表示当前值是???? 怎样通过数据库的内容,让复选框自动选择选上~~~~~~~~~是多选题来的~~~~ 青铜锁,情同锁 win2003接口问题 一个关于数据填加的问题! 我只有这30分了,一个高难度问题要向大家请教(关于创建及放弃)! 经常在别人的com代码里看到这段代码,做什么用的? 初学windows编程,有几点不明白的地方,请教各位 WinForm.cs(405,6): error CS0122: 不可访问“System.Windows.Forms.ProgressBar.value”,因为它受保护级别限制!!!!!这个错误提示 win2000server问题 那位大虾讲解一下,weblogic+jbuilder7+oracle的整合。给分 恢复数据库,怎样将数据库的连接全部断开? 请问西门子的哪些款手机可以直接识别AT指令?(在线等,马上给分) SQL SERVER数据库,这个语句太复杂了,实在头疼,谁能帮帮我啊 JSP连接DB2的问题 如何在WORD中发信??求助ing ... 一个关于对话框的问题。 《最后一颗子弹留给我》连载 = = = 有请江西的朋友进来一述 = = = 请问用代码如何实现以下批处理功能? 错误,着急! jsp与那个数据库是最好的搭配啊??? 倡导成产手机爱好者与自由开发者协会 二十世纪初所取得的自然科学史上划时代的成就是 “热带”“亚热带”什么意思 什么是三角洲 什么是季风? 19世纪末20世纪初帝国主义的三次战争及成果 落花生看起来很软弱,矮矮地趴(倒)在地上.为什么不用括号里的词? 无锡亚热带正规吗? 三个自由电荷平衡问题为什么三个电荷间要两大夹一小?两小夹一大不也可以嘛!苦逼高二党.跪求解答! 为什么两同夹一异,两大夹一小,电荷会平衡呢? 三电荷平衡中,为什么要两同夹异? 空间中三个孤立点电荷仅受库仑力平衡,为什么是两同夹一异,两边不能和中间的相同吗? 一天小便次数多少正常就是我平时是比较少喝水的,也不口渴所以有时就忘记了,然后一天就小便5到6次,睡觉后没有,然后这几天我相对自己平时来说喝多了点水,是相对自己平时的情况,小便就9 亚热带是比热带冷点的意思吗?亚热带是比热带冷点的意思吗?亚热带是比热带冷点的意思吗?亚热带是比热带冷点的意思吗?亚热带是比热带冷点的意思吗?亚热带是比热带冷点的意思吗?亚热带 律师称斯诺登将从11月起在俄大型网站中国高铁出口前景“复明”禁化武组织说叙利亚已按时销毁所有化武中方严重关切美监听活动报道 要求美方律师称斯诺登将开始在俄罗斯某大型网站欧盟称将核实欧洲是否协助美国安局搜集联合国计划成立预警机构 防范小行星撞俄罗斯称政府内部系统可防止领导人电话女童目睹家人在车祸中被烧死 获赔1.安倍经济学:IMF认为有益经济 日本女子坚持嫁给残障男友 坚贞真爱感动世谷梁铭:6月9日现货白银原油策略、空福汇英国宣布自动化交易服务仅供部分合“买访民告自己” 还需反思什么比在哪里生活更重要的,是选择怎样的生星际战争、星际飞船与伽玛暴【观点】排污权有偿使用和交易制度的关不灵了健康需要指引:腰椎病痛消失不见了?刘铁男案 拼爹坑爹与被爹坑资源股护盘 5100点失而复得最终幻想14国际服2.45补丁上线
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘