net_lover你好:asp.net:DataView存储XML格式的字符串后的日期型字段为什么不能准确排序? 默认情况下,XML内容保额看作是字符串类型的,你可以使用XML Schema或者事先进行排序处理再加入到DataView 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 说点具体的行吗?我看不懂啊,怎么用XML Schema 阿? 准备xml的时候同时准备Schema 下面是一个简单的示例 using System; using System.Reflection; using System.Data; using System.Xml; using System.IO; using System.Text; class A { public static void Main(String[] args) { DataTable dt = new DataTable(); dt.Columns.Add( "id ", typeof(int)); dt.Columns.Add( "str ", typeof(string)); dt.Rows.Add(new object[] {9, "9 " }); dt.Rows.Add(new object[] { 10, "10 " }); dt.Rows.Add(new object[] { 11, "11 " }); DataSet ds = new DataSet(); ds.Tables.Add(dt); //不同时写入Schema.则读取出来时因为无法分析数据格式可能导至select出错 //ds.WriteXml( "xmlfile "); ds.WriteXml( "xmlfilewithschema ",XmlWriteMode.WriteSchema); ds.Tables.Remove(dt); //同时读出时也带着Schema一起读出可以有效还原数据格式 //ds.ReadXml( "xmlfile "); ds.ReadXml( "xmlfilewithschema ", XmlReadMode.ReadSchema); dt = ds.Tables[0]; PrintTable(dt, "id=10 "); PrintTable(dt, "id> 10 "); PrintTable(dt, "id <10 "); Console.Read(); } static void PrintTable(DataTable dt,string condition) { DataRow[] drs = dt.Select(condition); Console.WriteLine( "条件:{0}记录数:{1} ",condition ,drs.Length); foreach(DataRow dr in drs){ foreach (DataColumn col in dt.Columns) { Console.Write( "{0}:{1}\t ",col.Caption,dr[col.Caption] ); } Console.Write( "\r\n "); } } } .net的XML编程一块,最好看一看以后肯定用的着 菜鸟求租 刚要步入asp.net.. 求教一个求季度和周数的问题。 ASP.NET MVC3下一般都怎么弄用户注册之类的 求正则,看清题意。不是重复发问。 求给视频加水印代码 如何实现服务器推送技术 怎样限制图片显示的大小 怎样动态的向DataGrid中添加CheckBox控件. 为什么在.aspx.vb中写的代码,能够执行呢? javascript取值的问题,昨天没解决!!!!! 我發現一個極其奇怪的問題,誰能解釋一下????
我看不懂啊,怎么用XML Schema 阿?
准备xml的时候同时准备Schema
下面是一个简单的示例
using System;
using System.Reflection;
using System.Data;
using System.Xml;
using System.IO;
using System.Text;
class A
{
public static void Main(String[] args)
{
DataTable dt = new DataTable();
dt.Columns.Add( "id ", typeof(int));
dt.Columns.Add( "str ", typeof(string));
dt.Rows.Add(new object[] {9, "9 " });
dt.Rows.Add(new object[] { 10, "10 " });
dt.Rows.Add(new object[] { 11, "11 " });
DataSet ds = new DataSet();
ds.Tables.Add(dt);
//不同时写入Schema.则读取出来时因为无法分析数据格式可能导至select出错
//ds.WriteXml( "xmlfile ");
ds.WriteXml( "xmlfilewithschema ",XmlWriteMode.WriteSchema);
ds.Tables.Remove(dt); //同时读出时也带着Schema一起读出可以有效还原数据格式
//ds.ReadXml( "xmlfile ");
ds.ReadXml( "xmlfilewithschema ", XmlReadMode.ReadSchema);
dt = ds.Tables[0];
PrintTable(dt, "id=10 ");
PrintTable(dt, "id> 10 ");
PrintTable(dt, "id <10 ");
Console.Read();
} static void PrintTable(DataTable dt,string condition)
{
DataRow[] drs = dt.Select(condition);
Console.WriteLine( "条件:{0}记录数:{1} ",condition ,drs.Length);
foreach(DataRow dr in drs){
foreach (DataColumn col in dt.Columns)
{
Console.Write( "{0}:{1}\t ",col.Caption,dr[col.Caption] );
}
Console.Write( "\r\n ");
}
}
}