.net中XML文件作为数据源的操作类

简介: 不解释了,自己看代码吧....................... using System;using System.

不解释了,自己看代码吧.......................

using System;
using System.Text;
using System.Data;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI;
using System.Xml;

namespace Gogofly.CommonOperation
{
 /// <summary>
 /// 数据类型转换
 /// </summary>
 public class DataTypeConvert
 {
  #region 数据类型转换

  public DataTypeConvert(){}

  /// <summary>
  /// 字符串转换为整数
  /// </summary>
  /// <param name="value"></param>
  /// <returns></returns>
  public static int ConvertToInt(string value)
  {   ///数据为空,返回-1
   if(string.IsNullOrEmpty(value))return -1;
   int result = -1;
   ///执行转换操作
   Int32.TryParse(value,out result);
   return result;
  }

  /// <summary>
  /// 字符串转换为时间
  /// </summary>
  /// <param name="value"></param>
  /// <returns></returns>
  public static DateTime ConvertToDateTime(string value)
  {   ///定义初始化值
   DateTime result = DateTime.Parse("1900-01-01");
   if(string.IsNullOrEmpty(value)) return result;
   ///执行转换操作
   DateTime.TryParse(value,out result);
   return result;
  }

  /// <summary>
  /// 字符串转换为实数
  /// </summary>
  /// <param name="value"></param>
  /// <returns></returns>
  public static decimal ConvertToDecimal(string value)
  {   ///定义初始化值
   decimal result = 0.0M;
   if(string.IsNullOrEmpty(value)) return result;
   ///执行转换操作
   decimal.TryParse(value,out result);
   return result;
  }

  /// <summary>
  /// 字符串转换为布尔类型
  /// </summary>
  /// <param name="value"></param>
  /// <returns></returns>
  public static bool ConvertToBoolean(string value)
  {   ///定义初始化值
   bool result = false;
   if(string.IsNullOrEmpty(value)) return result;
   ///执行转换操作
   bool.TryParse(value,out result);
   return result;
  }

  #endregion
 }

 public class DataBinder
 {
  #region 绑定控件的数据

  public DataBinder() { }

  /// <summary>
  /// 绑定列表控件的数据,数据源为SqlDataReader对象
  /// </summary>
  /// <param name="list"></param>
  /// <param name="dataSource"></param>
  /// <param name="dataTextField"></param>
  /// <param name="dataValueField"></param>
  public static void BindListData(ListControl list,SqlDataReader dataSource,
   string dataTextField,string dataValueField)
  {
   if(dataSource == null) { return; }
   ///绑定数据
   list.DataSource = dataSource;
   list.DataTextField = dataTextField;
   list.DataValueField = dataValueField;
   list.DataBind();
   ///关闭数据源
   dataSource.Close();
  }

  /// <summary>
  /// 绑定列表控件的数据,数据源为DataSet对象
  /// </summary>
  /// <param name="list"></param>
  /// <param name="dataSource"></param>
  /// <param name="dataTextField"></param>
  /// <param name="dataValueField"></param>
  public static void BindListData(ListControl list,DataSet dataSource,
   string dataTextField,string dataValueField)
  {
   if(dataSource == null) { return; }
   ///绑定数据
   list.DataSource = dataSource;
   list.DataTextField = dataTextField;
   list.DataValueField = dataValueField;
   list.DataBind();
  }

  /// <summary>
  /// 绑定列表控件的数据,数据源为DataTable对象
  /// </summary>
  /// <param name="list"></param>
  /// <param name="dataSource"></param>
  /// <param name="dataTextField"></param>
  /// <param name="dataValueField"></param>
  public static void BindListData(ListControl list,DataTable dataSource,
   string dataTextField,string dataValueField)
  {
   if(dataSource == null) { return; }
   ///绑定数据
   list.DataSource = dataSource;
   list.DataTextField = dataTextField;
   list.DataValueField = dataValueField;
   list.DataBind();
  }  

  /// <summary>
  /// 绑定GridView控件的数据,数据源为SqlDataReader对象
  /// </summary>
  /// <param name="gv"></param>
  /// <param name="dataSource"></param>
  public static void BindGridViewData(GridView gv,SqlDataReader dataSource)
  {
   if(dataSource == null) { return; }
   ///绑定数据
   gv.DataSource = dataSource;
   gv.DataBind();
   ///关闭数据源
   dataSource.Close();
  }
  
  /// <summary>
  /// 绑定GridView控件的数据,数据源为DataSet对象
  /// </summary>
  /// <param name="gv"></param>
  /// <param name="dataSource"></param>
  public static void BindGridViewData(GridView gv,DataSet dataSource)
  {
   if(dataSource == null) { return; }
   ///绑定数据
   gv.DataSource = dataSource;
   gv.DataBind();
  }

  /// <summary>
  /// 绑定GridView控件的数据,数据源为DataTable对象
  /// </summary>
  /// <param name="gv"></param>
  /// <param name="dataSource"></param>
  public static void BindGridViewData(GridView gv,DataTable dataSource)
  {
   if(dataSource == null) { return; }
   ///绑定数据
   gv.DataSource = dataSource;
   gv.DataBind();
  }

  /// <summary>
  /// 绑定DataList控件的数据,数据源为SqlDataReader对象
  /// </summary>
  /// <param name="list"></param>
  /// <param name="dataSource"></param>
  public static void BindDataListData(DataList list,SqlDataReader dataSource)
  {
   if(dataSource == null) { return; }
   ///绑定数据
   list.DataSource = dataSource;
   list.DataBind();
   ///关闭数据源
   dataSource.Close();
  }
  
  /// <summary>
  /// 绑定DataList控件的数据,数据源为DataSet对象
  /// </summary>
  /// <param name="list"></param>
  /// <param name="dataSource"></param>
  public static void BindDataListData(DataList list,DataSet dataSource)
  {
   if(dataSource == null) { return; }
   ///绑定数据
   list.DataSource = dataSource;
   list.DataBind();
  }

  /// <summary>
  /// 绑定DataList控件的数据,数据源为DataTable对象
  /// </summary>
  /// <param name="list"></param>
  /// <param name="dataSource"></param>
  public static void BindDataListData(DataList list,DataTable dataSource)
  {
   if(dataSource == null) { return; }
   ///绑定数据
   list.DataSource = dataSource;
   list.DataBind();
  }

  #endregion
 }

 public class ButtonEnable
 {
  #region 设置按钮的可用性

  public ButtonEnable() { }

  /// <summary>
  /// 根据整数列表设置按钮的可用性
  /// </summary>
  /// <param name="button"></param>
  /// <param name="idList"></param>
  public static void ControlButtonEnable(Button button,int[] idList)
  {   ///计算按钮的可用性
   bool IsEnabled = true;
   ///列表为空
   if(idList == null)
   {
    button.Enabled = IsEnabled;
    return;
   }
   foreach(int id in idList)
   {   ///如果id值大于0,则按钮可用
    IsEnabled = IsEnabled && (id > 0 ? true : false);
    if(IsEnabled == false) { break; }
   }
   button.Enabled = IsEnabled;
  }

  /// <summary>
  /// 根据列表控件列表设置按钮的可用性
  /// </summary>
  /// <param name="button"></param>
  /// <param name="listControl"></param>
  public static void ControlButtonEnable(Button button,
   params ListControl[] listControl)
  {   
   bool IsEnabled = true;
   ///列表为空
   if(listControl == null)
   {
    button.Enabled = IsEnabled;
    return;
   }
   foreach(ListControl control in listControl)
   {
    if(control != null)
    {   ///列表包含选择项,则按钮可用
     IsEnabled = IsEnabled && (control.Items.Count > 0 ? true : false);
     if(IsEnabled == false) { break; }
    }
   }
   button.Enabled = IsEnabled;
  }

  /// <summary>
  /// 根据整数列表和列表控件列表共同设置按钮的可用性
  /// </summary>
  /// <param name="button"></param>
  /// <param name="idList"></param>
  /// <param name="listControl"></param>
  public static void ControlButtonEnable(Button button,int[] idList,
   params ListControl[] listControl)
  {   ///根据参数idList设置按钮可用性
   ControlButtonEnable(button,idList);
   ///根据参数listControl设置按钮的可用性
   ControlButtonEnable(button,listControl);
  }

  #endregion
 }

 public class ListSelectedItem
 {
  #region 设置列表控件的选择项

  public ListSelectedItem() { }

  /// <summary>
  ///  根据Value属性把列表控件的选择项设置为指定项
  /// </summary>
  /// <param name="list"></param>
  /// <param name="value"></param>
  public static void ListSelectedItemByValue(ListControl list,string value)
  {
   if(list == null) return;
   ///选择项为空
   if(list.Items.Count <= 0)
   {
    list.SelectedIndex = -1;
    return;
   }
      ///逐项进行比较,设置选择项
   for(int i = 0; i < list.Items.Count; i++)
   {
    if(list.Items[i].Value == value)
    {
     list.SelectedIndex = i;
     return;
    }
   }
   ///没有符合条件的选择项
   list.SelectedIndex = -1;
  }

  /// <summary>
  /// 根据Text属性把列表控件的选择项设置为指定项
  /// </summary>
  /// <param name="list"></param>
  /// <param name="text"></param>
  public static void ListSelectedItemByText(ListControl list,string text)
  {
   if(list == null) return;
   ///选择项为空
   if(list.Items.Count <= 0)
   {
    list.SelectedIndex = -1;
    return;
   }
   ///逐项进行比较,设置选择项
   for(int i = 0; i < list.Items.Count; i++)
   {
    if(list.Items[i].Text == text)
    {
     list.SelectedIndex = i;
     return;
    }
   }
   ///没有符合条件的选择项
   list.SelectedIndex = -1;
  }

  #endregion
 }

 public class DealwithString
 {
  #region 字符串处理

  public DealwithString() { }

  /// <summary>
  /// 根据时间创建字符串
  /// </summary>
  /// <returns></returns>
  public static string CreatedStringByTime()
  {
   DateTime now = DateTime.Now;
   string str = now.Year.ToString()
    + now.Month.ToString()
    + now.Day.ToString()
    + now.Hour.ToString()
    + now.Minute.ToString()
    + now.Second.ToString()
    + now.Millisecond.ToString();
   return (str);
  }

  /// <summary>
  /// 格式化显示字符串的长度,如果超过指定的长度,则显示...
  /// </summary>
  /// <param name="str"></param>
  /// <param name="length"></param>
  /// <returns></returns>
  public static string FormatStringLength(string str,int length)
  {
   if(string.IsNullOrEmpty(str)) return string.Empty;

   ///如果包含中文字符,中文字符的长度加倍
   if(Encoding.UTF8.GetByteCount(str) > str.Length)
   {   ///调整为中文的长度,等于英文的一半
    length = length / 2;
   }
   if(str.Length > length)
   {
    return str.Substring(0,length) + "...";
   }
   return str;
  }

  #endregion
 }

 public class Dialog
 {
  public Dialog() { }

  #region 显示对话框

  public static void OpenDialog(HttpResponse response,string message)
  {
   response.Write("<script>alert('" + message + "')</script>");
  }

  public static void OpenDialogInAjax(Control c,string message)
  {
   
  }
  #endregion
 }
}

-----------------------------------------------------------------------------------------------------------------------------------------------------

using System;
using System.Text;
using System.Xml;
using System.Xml.XPath;
using System.Collections;
using System.Data;
using Gogofly.CommonOperation;

namespace Gogolfy.OperateXmlDatabase
{
 public enum ParameterDirection
 {
  Insert,
  Update,
  Equal,
  NotEqual,
  Little,
  Great,
  Like
 }
  
 public sealed class XmlParamter //定义该类为密封类,阻止该类被继承
 {
  public XmlParamter(){} //实例构造函数

  private string name;
  public string Name
  {
   get { return this.name; }
   set { this.name = value; }
  }

  private string value;
  public string Value
  {
   get { return this.value; }
   set { this.value = value; }
  }

  private ParameterDirection direction;
  public ParameterDirection Direction
  {
   get { return this.direction; }
   set { this.direction = value; }
  }
 }
 
 public class XmlDatabase
 {
  public XmlDatabase() { }

  #region 获取XML中的数据

  public static DataTable GetData(string path,string tableName)
  {
   XmlDocument doc = new XmlDocument();

   try
   {   ///导入XML文档
    doc.Load(path);
   }
   catch(Exception ex)
   {
    throw new Exception(ex.Message,ex);
   }

   DataTable dt = new DataTable();
   ///获取根节点
   XmlNode rootNode = doc.SelectSingleNode("/" + tableName + "s");
   if(rootNode == null) return null;
   if(rootNode.ChildNodes.Count <= 0) return null;
   ///创建保存记录的数据列
   foreach(XmlAttribute attr in rootNode.ChildNodes[0].Attributes)
   {
    dt.Columns.Add(new DataColumn(attr.Name,typeof(string)));
   }

   ///创新获取数据节点的XPath
   string xmlPath = "/" + tableName + "s/" + tableName;
   XmlNodeList nodeList = doc.SelectNodes(xmlPath);
   ///添加节点的数据
   foreach(XmlNode node in nodeList)
   {
    DataRow row = dt.NewRow();
    foreach(DataColumn column in dt.Columns)
    {   ///读取每一个属性
     row[column.ColumnName] = node.Attributes[column.ColumnName].Value;
    }
    dt.Rows.Add(row);
   }
   return dt;
  }

  public static DataTable GetData(string path,string tableName,params XmlParamter[] param)
  {
   XmlDocument doc = new XmlDocument();

   try
   {   ///导入XML文档
    doc.Load(path);
   }
   catch(Exception ex)
   {
    throw new Exception(ex.Message,ex);
   }

   DataTable dt = new DataTable();
   ///获取根节点
   XmlNode rootNode = doc.SelectSingleNode("/" + tableName + "s");
   if(rootNode == null) return null;
   if(rootNode.ChildNodes.Count == 0) return null;
   ///创建保存记录的数据列
   foreach(XmlAttribute attr in rootNode.ChildNodes[0].Attributes)
   {
    dt.Columns.Add(new DataColumn(attr.Name,typeof(string)));
   }

   ///创建获取数据节点的XPath
   string xmlPath = "/" + tableName + "s/" + tableName;
   int operationCount = 0;
   StringBuilder operation = new StringBuilder();
   foreach(XmlParamter p in param)
   {
    if(p.Direction == ParameterDirection.Insert
     || p.Direction == ParameterDirection.Update)
    {
     continue;
    }
    ///创建条件表达式
    switch(p.Direction)
    {
     case ParameterDirection.Equal:
      operation.Append("@" + p.Name + "='" + p.Value + "'");
      break;
     case ParameterDirection.NotEqual:
      operation.Append("@" + p.Name + "<>'" + p.Value + "'");
      break;
     case ParameterDirection.Little:
      operation.Append("@" + p.Name + "<'" + p.Value + "'");
      break;
     case ParameterDirection.Great:
      operation.Append("@" + p.Name + ">'" + p.Value + "'");
      break;
     case ParameterDirection.Like:
      operation.Append("contains(@" + p.Name + ",'" + p.Value + "')");
      break;
     default: break;
    }
    operationCount++;
    operation.Append(" and ");
   }
   if(operationCount > 0)
   {   ///修正XPath
    operation.Remove(operation.Length - 5,5);
    xmlPath += "[" + operation.ToString() + "]";
   }

   XmlNodeList nodeList = doc.SelectNodes(xmlPath);
   ///添加节点的数据
   foreach(XmlNode node in nodeList)
   {
    DataRow row = dt.NewRow();
    foreach(DataColumn column in dt.Columns)
    {   ///读取每一个属性
     row[column.ColumnName] = node.Attributes[column.ColumnName].Value;
    }
    dt.Rows.Add(row);
   }
   return dt;
  }

  #endregion

  #region 添加数据

  public static int AddData(string path,string tableName,params XmlParamter[] param)
  {
   XmlDocument doc = new XmlDocument();

   try
   {   ///导入XML文档
    doc.Load(path);
   }
   catch(Exception ex)
   {
    throw new Exception(ex.Message,ex);
   }   

   ///选择根节点
   XmlNode node = doc.SelectSingleNode("/" + tableName + "s");
   if(node == null) return -1;
   ///创建新记录的ID值
   int newID = DataTypeConvert.ConvertToInt(node.LastChild.Attributes["ID"].Value) + 1;
   if(newID < 1) return -1;
   ///创建一个新节点
   XmlNode newNode = doc.CreateNode(XmlNodeType.Element,tableName,null);
   if(newNode == null)return -1;
   ///添加ID的值
   newNode.Attributes.Append(CreateNodeAttribute(doc,"ID",newID.ToString()));
   ///添加新节点的属性
   foreach(XmlParamter p in param)
   {
    newNode.Attributes.Append(CreateNodeAttribute(doc,p.Name,p.Value));
   }
   ///将新节点追加到根节点中
   node.AppendChild(newNode);

   try
   {   ///保存XML文档
    doc.Save(path);
   }
   catch(Exception ex)
   {
    throw new Exception(ex.Message,ex);
   }
   return newID;
  }

  #endregion

  #region 更新数据

  public static int UpdateData(string path,string tableName,params XmlParamter[] param)
  {
   XmlDocument doc = new XmlDocument();

   try
   {   ///导入XML文档
    doc.Load(path);
   }
   catch(Exception ex)
   {
    throw new Exception(ex.Message,ex);
   }

   ///创新选择被修改节点的XPath
   string xmlPath = "/" + tableName + "s/" + tableName;
   int operationCount = 0;
   StringBuilder operation = new StringBuilder();
   foreach(XmlParamter p in param)
   {
    if(p.Direction == ParameterDirection.Insert
     || p.Direction == ParameterDirection.Update)
    {
     continue;
    }    
    switch(p.Direction)
    {
     case ParameterDirection.Equal:
      operation.Append("@" + p.Name + "='" + p.Value + "'");
      break;
     case ParameterDirection.NotEqual:
      operation.Append("@" + p.Name + "<>'" + p.Value + "'");
      break;
     case ParameterDirection.Little:
      operation.Append("@" + p.Name + "<'" + p.Value + "'");
      break;
     case ParameterDirection.Great:
      operation.Append("@" + p.Name + ">'" + p.Value + "'");
      break;
     case ParameterDirection.Like:
      operation.Append("contains(@" + p.Name + ",'" + p.Value + "')");
      break;
     default: break;
    }
    operationCount++;
    operation.Append(" and ");
   }
   if(operationCount > 0)
   {    
    operation.Remove(operation.Length - 5,5);
    xmlPath += "[" + operation.ToString() + "]";
   }

   XmlNodeList nodeList = doc.SelectNodes(xmlPath);
   if(nodeList == null) return -1;
   ///修改节点的属性
   foreach(XmlNode node in nodeList)
   { ///修改单个节点的属性
    foreach(XmlParamter p in param)
    {
     if(p.Direction == ParameterDirection.Update)
     {
      node.Attributes[p.Name].Value = p.Value;
     }
    }
   }

   try
   {   ///保存XML文档
    doc.Save(path);
   }
   catch(Exception ex)
   {
    throw new Exception(ex.Message,ex);
   }
   return nodeList.Count;
  }

  #endregion

  #region 删除数据

  public static int DeleteData(string path,string tableName,params XmlParamter[] param)
  {
   XmlDocument doc = new XmlDocument();

   try
   {   ///导入XML文档
    doc.Load(path);
   }
   catch(Exception ex)
   {
    throw new Exception(ex.Message,ex);
   }

   ///创新选择被修改节点的XPath
   string xmlPath = "/" + tableName + "s/" + tableName;
   int operationCount = 0;
   StringBuilder operation = new StringBuilder();
   foreach(XmlParamter p in param)
   {
    if(p.Direction == ParameterDirection.Insert
     || p.Direction == ParameterDirection.Update)
    {
     continue;
    }
    switch(p.Direction)
    {
     case ParameterDirection.Equal:
      operation.Append("@" + p.Name + "='" + p.Value + "'");
      break;
     case ParameterDirection.NotEqual:
      operation.Append("@" + p.Name + "<>'" + p.Value + "'");
      break;
     case ParameterDirection.Little:
      operation.Append("@" + p.Name + "<'" + p.Value + "'");
      break;
     case ParameterDirection.Great:
      operation.Append("@" + p.Name + ">'" + p.Value + "'");
      break;
     case ParameterDirection.Like:
      operation.Append("contains(@" + p.Name + ",'" + p.Value + "')");
      break;
     default: break;
    }
    operationCount++;
    operation.Append(" and ");
   }
   if(operationCount > 0)
   {
    operation.Remove(operation.Length - 5,5);
    xmlPath += "[" + operation.ToString() + "]";
   }

   XmlNodeList nodeList = doc.SelectNodes(xmlPath);
   if(nodeList == null) return -1;
   ///删除被选择的节点
   foreach(XmlNode node in nodeList)
   { ///删除单个节点
    XmlNode parentNode = node.ParentNode;
    parentNode.RemoveChild(node);
   }

   try
   {   ///保存XML文档
    doc.Save(path);
   }
   catch(Exception ex)
   {
    throw new Exception(ex.Message,ex);
   }
   return nodeList.Count;
  }

  #endregion

  #region 创建参数

  private static XmlAttribute CreateNodeAttribute(XmlDocument doc,String name,String value)
  {
   XmlAttribute attribute = doc.CreateAttribute(name,null);
   attribute.Value = value;
   return attribute;
  }

  private static XmlParamter CreateParameter(string name,string value,ParameterDirection direciton)
  {
   XmlParamter p = new XmlParamter();
   p.Name = name;
   p.Value = value;
   p.Direction = direciton;

   return p;
  }

  public static XmlParamter CreateInsertParameter(string name,string value)
  {
   return CreateParameter(name,value,ParameterDirection.Insert);
  }
  public static XmlParamter CreateUpdateParameter(string name,string value)
  {
   return CreateParameter(name,value,ParameterDirection.Update);
  }
  public static XmlParamter CreateEqualParameter(string name,string value)
  {
   return CreateParameter(name,value,ParameterDirection.Equal);
  }
  public static XmlParamter CreateGreatParameter(string name,string value)
  {
   return CreateParameter(name,value,ParameterDirection.Great);
  }
  public static XmlParamter CreateLittleParameter(string name,string value)
  {
   return CreateParameter(name,value,ParameterDirection.Little);
  }
  public static XmlParamter CreateNotEqualParameter(string name,string value)
  {
   return CreateParameter(name,value,ParameterDirection.NotEqual);
  }
  public static XmlParamter CreateLikeParameter(string name,string value)
  {
   return CreateParameter(name,value,ParameterDirection.Like);
  }

  #endregion
 }
}

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
9天前
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
9 0
|
11天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析
|
11天前
|
C# Windows
.NET开源免费的Windows快速文件搜索和应用程序启动器
今天大姚给大家分享一款.NET开源(MIT License)、免费、功能强大的Windows快速文件搜索和应用程序启动器:Flow Launcher。
|
29天前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
11 0
|
30天前
|
Java
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
9 0
|
1月前
|
Kubernetes Cloud Native Java
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
37 1
|
30天前
|
XML Java 数据库连接
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
10 0
|
25天前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
14 1
|
29天前
|
XML Java 数据格式
使用java解析XML文件的步骤
使用java解析XML文件的步骤
10 0
|
1月前
|
XML 存储 JavaScript
深入学习 XML 解析器及 DOM 操作技术
所有主要的浏览器都内置了一个XML解析器,用于访问和操作XML XML 解析器 在访问XML文档之前,必须将其加载到XML DOM对象中 所有现代浏览器都有一个内置的XML解析器,可以将文本转换为XML DOM对象
72 0