手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

用VisualC .NET实现XML解析

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
天极IT资讯短信服务 电脑小技巧
资费:包月5元
手机:
介绍:细处着手,巧处用功。高手和菜鸟之间的差别就是:高手什么都知道,菜鸟知道一些。电脑小技巧收集最新奇招高招,让你轻松踏上高手之路。(首月免费)

  对于多数开发者来说,Web服务已经成为某种固定不变的东西了,因为他们把Internet看作是促进应用程序应用的最好途径。一些Web服务(例如Amazon.com Web服务)是公共的,并且很容易被要求把这种服务包含在应用程序中。其它一些Web服务是私有的,并且需要访问的特定知识。无论涉及哪种Web服务,他们都依赖XML传递数据。因此,在提到Web服务的时候,XML解析是开发者想到的第一件事。

  XML解析的其它用途

  XML解析并不仅仅局限于Web服务,例如.NET应用程序就能使用XML作为配置信息的存储方法。你需要做的事情就是拥有一个.MANIFEST文件,它的名称必须与应用程序的名称相同,CLR(通用语言运行时)会自动查阅这个文件找到配置信息。

  例如,列表1显示了添加给一个.MANIFEST文件的XML。这个清单告诉CLR使用Windows XP主题信息绘制标准控件(该配置文件不会影响自己绘制的控件)。注意该文件的版本号可能改变,可以在系统的\WINDOWS\WinSxS文件夹下查看当前的版本号。这个并行库的文件夹的名称可能类似x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.0.0_x-ww_1382d70a,列表1中显示的processorArchitecture值最先出现,接着出现名称(name)值,然后出现publicKeyToken值,最后出现版本(version)值。

  列表1..NET.MANIFEST文件依赖XML

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32"
name="ShowMessage"
version="1.0.0.0"
processorArchitecture="x86"
/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

  你也可以建立其它类型的配置文件,你的应用程序可以在启动过程中分析它。这些文件可以包含应用程序执行需要的任何信息。你可以使用这些配置文件代替注册表设置项。通常,你会发现使用XML文件比使用注册表少一些错误,并且它们也更灵活。例如,把一个用户从一台计算机迁移到另一台计算机的时候,就不一定需要重新配置应用程序,因为设置信息已经出现在该应用程序的目录中了。在某些角度上,这意味着我们又回到了过去使用INI文件的情形,但是XML文件包含的信息比INI文件多得多,并且会减少一定形式的损坏和配置错误。

  当结合其它一些技术(例如可扩充样式表语言转换,XSLT)的时候,XML可以使Web页面更容易阅读。但是,你也能把这类技术应用于内部。例如,很多公司把这种形式的XML作为建立用户使用的帮助文件的一种方法。这种帮助信息作为XML文件中的数据出现,浏览器可以使用XSLT文件把它转换为可视化的输出。应用程序可以使用兼容HTML的控件显示这种信息。至于用户,他们不管数据来自标准的帮助文件或另一个信息源。

  最终,XML可能成为一种主要的数据存储技术。有些厂商已经讨论他们的XML产品了。你也可以找到一些XML存储产品,例如微软Office。简单的说,你最终可能发现为了载入数据和显示数据,需要在应用程序中包含分析能力。



  生成XML文件

  在你能更多地处理XML之前,你需要了解如何格式化XML文件,以及如果生成它。我假定你已经知道了如何格式化XML文件。列表2显示了生成XML的一个简单的方法。

  列表2.使用.NET生成XML文件

System::Void btnGenerate_Click(System::Object * sender,
System::EventArgs * e)
{
XmlTextWriter* DataWrite; // 执行实际的数据写入

// 建立数据写入程序
DataWrite = new XmlTextWriter(txtFilename->Text,
System::Text::Encoding::UTF8);

// 写入XML头。当你把这个函数设置为true的时候,.NET建立独立的文档
DataWrite->WriteStartDocument(true);
DataWrite->WriteWhitespace("\r\n");

// 描述测试文件
DataWrite->WriteComment("This is a test document.");
DataWrite->WriteWhitespace("\r\n");

// 启动文档。你必须指定true来建立一个有根元素的新文档。
// 包含根元素失败将导致一个错误产生。
// 本示例包含了一个名字空间前缀、元素的本地名称和于名字空间关联的URL。
DataWrite->WriteStartElement("Data",
"MyData",
"http://www.mysite.com/");
DataWrite->WriteWhitespace("\r\n");

// 把数据写入文档
DataWrite->WriteElementString("DataString1", txtData->Text);
DataWrite->WriteWhitespace("\r\n");

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS