Objective CVisual Studio 6Windows 2000Visual C++ 6.0Windows XPXML中级开发Visual StudioWindowsC++Visual Basic
XML 文件/流处理






4.50/5 (11投票s)
2004年3月15日
2分钟阅读

156512

8085
处理 XML 文件或流;读取组和属性值;写入和删除组、属性、值和注释
- 下载演示 C/C++ 项目 - 21.3 KB
- 下载演示 VB 项目 - 9.99 KB
- 下载加密 VB 项目 (2) - 19.2 KB
- 下载分发 - 36.7 KB
- 下载源代码 - 27.7 KB
- 下载函数文档 - 17.3 KB
引言
此 DLL 提供了操作 XML 文件的例程。 提供的集合并非包罗万象,而是一个有用的小集合。 多个协同运行的可执行文件可以从一个共同的 XML 文件中获取其操作参数并为其他文件设置参数。
背景
最初,实现了读取函数以节省使用专有接口的大量开销。 从此产生了对该机制的某种理解。 然后添加了写入和删除例程;允许用户程序提供和恢复 XML 数据的流例程(无需使用磁盘文件);一些超级(即,总括)例程以缩小用户的代码。
Using the Code
VC 6.0 项目:将 XMJDLL.dll 放在您的路径变量中的一个目录中。 将库 XMJDLL.lib 添加到项目资源。 将模块 XMJcalls.h 添加到项目中。 使用其中的例程。
VB 6.0 项目:使用 regsvr32 注册 XMJDLL.dll。 将模块 XMJDLL.bas 添加到项目中。 使用其中的 public
例程。
//
// Sample source to produce the above file
//
XMJ_newFile("Order");
XMJ_getFrstGroup("Order",0);
XMJ_newAttPutVal("number","1234");
XMJ_pokeNewGrpPutVal("Date","2000/1/1");
XMJ_newGrpPutVal("Customer","Acme Ltd");
XMJ_newAttPutVal("ID","1234A");
XMJ_getFrstGroup("Order",0);
XMJ_newGroup("ITEM");
XMJ_getFrstGroup("ITEM",1);
XMJ_newAttPutVal("ID","01");
XMJ_newGrpPutVal("Part-number","E16-25A");
XMJ_newAttPutVal("warehouse","Warehouse11");
XMJ_getFrstGroup("ITEM",1);
XMJ_pokeNewGrpPutVal("Description","Production-Class Widget A");
XMJ_newGrpPutVal("Quantity","16");
XMJ_getFrstGroup("Order",0);
XMJ_newGroup("ITEM");
XMJ_getLastGroup("ITEM",1);
XMJ_newAttPutVal("ID","02");
XMJ_newGrpPutVal("Part-number","E23-45B");
XMJ_newAttPutVal("warehouse","Warehouse11");
XMJ_getLastGroup("ITEM",1);
XMJ_pokeNewGrpPutVal("Description","Production-Class Widget B");
XMJ_newGrpPutVal("Quantity","12");
XMJ_writeFile(fileName);
关注点
- 对于仅 C/C++ 用户,可以使用提供的 workspace 和项目文件构建一个
static
库。 - XMJDLL.bas 模块中的
private
例程是为了解决 C/C++ <-> VB 的差异。 - “
false
” 的实现(C/C++ 0,VB -1)。 - VB
string
地址到 C/C++ 例程。 - VB 返回-
string
-参数在 DLL 中处理。
历史
- 3.5 修正
XMJ_deProfundis
- 3.4 加密和赶上 XM8
- 新的 XMJ_crypt_vb.zip - TEA 加密应用于 XML 文件的演示
- 四个新的加密例程,以实现 Tiny Encryption Algorithm (TEA)
- XMJ_sNew.cpp - 新的循环例程
XMJ_deProfundis
- 处理值中的 <、&、>、“ 和 ';读取和写入均可
- 组到属性,属性到属性,空格处理
- 以前需要 440 毫秒,现在需要 160 毫秒
许可证
本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。
作者可能使用的许可证列表可以在此处找到。