设为首页收藏本站language 语言切换
查看: 1340|回复: 0
收起左侧

[.net] 在传统com程序中使用xml

[复制链接]
发表于 2010-2-25 10:24:46 | 显示全部楼层 |阅读模式
<p >xml是.net的核心。在所有有关.net的文章、白皮书或是帮助中总会有这三个字母。但在.net出现之前,xml已经深深的改变了一切,在“传统的”win32程序中你也可以发现它。这里,我将会介绍阅读和编写xml程序以及如何使用微软的MSXML4的com组件转化xml语言。<p >如果你没有安装MSXML4,你能够从以下链接获取:http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/001/766/msdncompositedoc.xml。遵循说明将它装到你开发要用的所有机器上。如果你计划分发你的MSXML4程序,你还需要获得分发用的cab文件。<p >如果你还不了解xml是什么,下面是一个xml的特点列表。xml是用以表示结构化和半结构化数据的符号:<p >1.是能读懂的简单明了的ASCII文本。<p >2.是易创建的ASCII文本;<p >3.在任何的语言和操作系统中,利用免费和可获得(通常是免费)的组件,行数不多的代码就可处理;<p >4.利用同样的组件,只需几行代码就可创建;<p >5.易被转化成html,pdf,ppt以及很多其它打印友好和显示友好的格式;<p >6.能够利用很多可获取的组件在几乎所有的数据库中来回移植和维护;<p >7.规则和条件尽可能的少,以获取最大实用性和灵活性。<p >如果你想知道更多,点击www.xml.org或是www.w3.org/XML/1999/XML-in-10-points了解相关细节。<p ><center><font color="#000099"><strong>xml样例</strong></font></center><p >下面是在样例程序中使用的一个xml样例文档:<p ><ccid_nobr><table align="center" border="1" bordercolordark="#FFFFFF" bordercolorlight="black" cellpadding="2" cellspacing="0" width="550"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt; &amp;lturchaseOrder&amp;gt;&amp;lt;Customer id=&amp;quot;123&amp;quot;/&amp;gt;&amp;lt;Item SKU=&amp;quot;1234&amp;quot; Price=&amp;quot;4.56&amp;quot; Quantity=&amp;quot;1&amp;quot;/&amp;gt;&amp;lt;Item SKU=&amp;quot;1235&amp;quot; Price=&amp;quot;4.58&amp;quot; Quantity=&amp;quot;2&amp;quot;/&amp;gt;&amp;lt;/PurchaseOrder&amp;gt;</ccid_code></pre></td></tr></table></ccid_nobr><p ><center><font color="#000099"><strong>在com中加载xml</strong></font></center><p >最简单的使用xml的程序是一个控制台程序。在Visual Studio.NET中创建的过程如下:选择文件-〉新建-〉工程---〉vc++工程-〉win32程序。将程序的设置改为控制台程序。(使用vc++ 6的:选择文件-〉新建工程-〉win32程序。程序的设置改为控制台程序。你可以使用一样的代码)。我将我的文件命名为XMLCOM,因此my _tmain()函数保存在XMLCOM.cpp文件中。下面是它的内容:<p ><ccid_nobr><table align="center" border="1" bordercolordark="#FFFFFF" bordercolorlight="black" cellpadding="2" cellspacing="0" width="550"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>#include &amp;quot;stdafx.h&amp;quot;#import &amp;quot;msxml4.dll&amp;quot; using namespace MSXML2;#include &amp;lt;iostream&amp;gt;using std::cout;using std::endl;int _tmain(int argc, _TCHAR* argv[]){  CoInitialize(NULL);  { //extra braces for scope only    MSXML2::IXMLDOMDocumentPtr               xmlDoc(&amp;quot;MSXML2.DOMDocument.4.0&amp;quot;);    xmlDoc-&amp;gt;async = false;    bool ret = xmlDoc-&amp;gt;load(&amp;quot;sample.xml&amp;quot;);    if ( ret)    {      cout &amp;lt;&amp;lt; &amp;quot;Document loaded ok.&amp;quot; &amp;lt;&amp;lt; endl;    }    else    {       cout &amp;lt;&amp;lt; &amp;quot;load problem&amp;quot; &amp;lt;&amp;lt; endl;    }  }  CoUninitialize();  return 0;}</ccid_code></pre></td></tr></table></ccid_nobr><p align="center"><font color="FF0000" >1</font>2<span class="content01">下一页&gt;&gt;</span></p></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-10 15:09 , Processed in 0.065906 second(s), 22 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表