易截截图软件、单文件、免安装、纯绿色、仅160KB

ThroughoutCMS技术共享系列(2):XML访问类

     上次把数据库访问类共享出来了,几个同事网上感慨了一番,真的没有想到我还保留5年前的代码,我说,代码本来就是应该被阅读和研究的,代码同样具有思想和情节,这就是在一穷二白的情况下的历史和轨迹。配置管理同样也是一位尽职的史官。
     总结一下,上次给出的代码虽然可以直接运行和使用,的确存在大量可以改进的地方,现在列出部分意见:
    1、不支持多种数据库连接(例如Oracle、DB2、Access,mySql等);
    2、代码封装不彻底,面向对象,起码应该采取工厂方法。
    3、不支持多线程,没有连接池的概念,同一时间只能建立一个连接;
    4、对于事务处理考虑不够;
    5、没有考虑到会话;
    6、代码本身性能、语法方面还可以存在大量改进的地方。
    ......
    一下子给出好几十条,看来还是有人研究了。这里就不在展开了,有机会专门开个专题讨论一下数据访问层的设计问题。
     今天给出ThroughoutCMS技术共享系列第二章:XML访问类,恐怕这也是我们经常用到的一个关键基础类库,无论采用.net还是采用java、VC、python,只要是上规模的项目,都缺少不了它,关于为什么要采用XML的问题,这里就不在详细讨论了,网上资料有的是。
      下面的代码同样是一个产品中的真实文件,只不过是第一版的,直接采用dom的思想,缺少SAX的操作,功能小而全,涉及到XML文件读取和节点操作,同样那句话,如果要用,可以直接拷贝,如果教学,非常实用。
// 本文件包含了XML数据访问的通用函数.
using System ;
using System.Globalization ;
using System.Xml ;
namespace CMS.Lib
{
 public class XML
 {
  private XML(){}
  
  /// <summary>
  /// 加载XML文档,返回XmlDocument对象
  /// </summary>
  /// <param name="sXMLFile">xml文件</param>
  /// <returns>加载的XmlDocument对象</returns>
  public static XmlDocument LoadXML(string sXMLFile)
  {
   XmlDocument objXmlDoc=new XmlDocument();
 


相关文档:

C#写XML的简单例子

这个例子要把bookstore.xml文件增加一条book记录
1 bookstore.xml
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="love" ISBN="1234123">
    <title>who am i </title>
    <author>who</author>
   ......

用AJAX调用XML时竟然不能包含任何符号

我用ActiveXObject("Microsoft.xmldom")来装载xml文档时,竟然老是提示装载失败,后来上网搜索了下,说是不能直接包含这5个符号('><&"),必须选用&xx;方式来转义,可我找遍XML也没发现这些。
后来我独行排除,才发现有一个元素的属性值为有“|”,去除后就正常了。我真是觉得奇怪,网上也没有说 ......

XmlDocument.LoadXML+如何构造xml字符串

http://topic.csdn.net/u/20080905/10/caea1689-4582-417a-8723-d008a3ae1a10.html?550638422
            tringBuilder sb = new StringBuilder();
            sb.Append(" <?xml version=\"1.0\"?> ");
    ......

xml操作

添加记录到ds保存到xml            
DataSet ds = new DataSet("myDs");
            //从XML中读取数据
            ds.ReadXml(Serve ......

使用kxml解析xml文件(一)

这个是参照ibm网站上的文章做的。
xml源文件:
<?xml version="1.0"?>
<!DOCTYPE rss PUBLIC
"-//Netscape Communications//DTD RSS 0.91//EN"
"http://my.netscape.com/publish/formats/rss-0.91.dtd"
>
<rss version="0.91">
<channel>
<title>Meerkat: An Open2 Wire Servic ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号