Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để định dạng DateTime và các giá trị ngày trong XML chiết xuất từ một ADO.NET tập dữ liệu bằng cách sử dụng Visual C#.NET

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:330597
Cho một Visual Basic.NET Phiên bản của bài viết này, xem 811767.
TRONG TÁC VỤ NÀY
    TÓM TẮT
    Bài viết từng bước này mô tả cách định dạng DateTimeNgày các giá trị trong XML được trích xuất từ một ADO.NET Số liệu đối tượng. Trong ADO.NET, các DateTimeNgày giá trị của DataTable cột được viết bằng XSD DateTimeNgày định dạng khi các Số liệu được lưu dưới dạng XML. Tiêu chuẩn XSD DateTimeNgày định dạng là CCYY-MM-tháng và CCYY-MM-DD, tương ứng, bởi vì lược đồ XSD tiềm ẩn của các Số liệu bản đồ các DateTimeNgày cột cơ sở dữ liệu để các DateTime và XSD Ngày loại dữ liệu.

    Tạo XML trong đó DateTimeNgày các giá trị được đại diện trong các định dạng tuỳ chỉnh cần thiết, sử dụng một trong hai các phương pháp sau đây:
    • Sử dụng các XmlConvert lớp học.
    • Áp dụng một biến đổi XSLT (XSLT) trên các XML đại diện của Số liệu dữ liệu.

    Sử dụng lớp XmlConvert

    1. Bắt đầu Microsoft Visual Studio.NET. Trong Visual C#.NET, tạo ra một mới ASP.Ứng dụng Web NET dự án được đặt tên DateTimeXmlConvert.
    2. Nhấp chuột phải vào bề mặt thiết kếWebForm1.aspx, sau đó bấm Xem mã để chỉnh sửa mã trong Web mẫu mã đằng sau lớp WebForm1.aspx.cs mô-đun.
    3. Thêm sau đây vào cuối của các bằng cách sử dụng chỉ thị phần tại WebForm1.aspx.cs:
      	using System.Xml;	using System.Text;	using System.Data.SqlClient;
    4. Dán đoạn mã sau trong các Page_Load phương pháp:
      		// Change SQL Server name, User Id and Password in following connection string.	string conn = "Server=SQLServerName; database=Northwind; user id=<username>; password=<strong password>";	SqlConnection connection = new SqlConnection();	connection.ConnectionString = conn;	DataSet objDataSet = new DataSet();	SqlDataAdapter objAdapter = new SqlDataAdapter();	SqlCommand objCmd = new SqlCommand();	// Retrieve the first 10 records from the employees table.	objCmd.CommandText = "select top 10 FirstName,BirthDate from employees";	objCmd.Connection = connection;	objAdapter.SelectCommand = objCmd;	objAdapter.Fill(objDataSet);	connection.Close();	// Create an instance of XmlTextReader class that reads the XML data.	XmlTextReader xmlReader = new XmlTextReader(objDataSet.GetXml(), XmlNodeType.Element, null);	Response.ContentType = "text/xml";	XmlTextWriter xmlWriter = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);	xmlWriter.Indentation = 4;	xmlWriter.WriteStartDocument();	string elementName = "";	// Parse and display each node.	while(xmlReader.Read())	{		switch(xmlReader.NodeType)		{			case XmlNodeType.Element:				xmlWriter.WriteStartElement(xmlReader.Name);				elementName = xmlReader.Name;				break;			case XmlNodeType.Text:				if(elementName.ToLower() == "birthdate")					xmlWriter.WriteString(XmlConvert.ToDateTime(xmlReader.Value).ToString());				else					xmlWriter.WriteString(xmlReader.Value);				break;			case XmlNodeType.EndElement:				xmlWriter.WriteEndElement();				break;		}	}				xmlWriter.Close();
      Chú ý Bạn phải thay đổi ID người sử dụng = <user name="">Tài khoản giá_trị đến một trong đó có quyền thích hợp để thực hiện các hoạt động trên cơ sở dữ liệu.</user>
    5. Lưu các thay đổi để WebForm1.aspx.cs.
    6. Trên các Xây dựng trình đơn, nhấp vào Xây dựng Giải pháp.
    7. Chạy Microsoft Internet Explorer và mở WebForm1.aspx bởi cách xác định URL sau, nơi IISServerName là tên máy chủ Microsoft Internet Information Services (IIS) của bạn:
      http://IISServerName/DateTimeXmlConvert/WebForm1.aspx
    Bây giờ bạn có thể thấy các tệp tin XML kết xuất trong trình duyệt trong các DateTime dạng tùy chỉnh.

    Áp dụng một biến đổi XSLT trên đại diện XML tập dữ liệu dữ liệu

    Bạn có thể sử dụng inline kịch bản khối và các thành phần bên ngoài mã, còn được gọi là XSLT mở rộng đối tượng, để thực hiện công việc tuỳ chỉnh. Đó là viện dẫn trong diện XSLT thực hiện tính toán và xử lý dữ liệu. Microsoft khuyến cáo rằng bạn tránh sử dụng các tập lệnh nội tuyến khối. Bạn có thể sử dụng phần mở rộng các đối tượng để thực hiện công việc tuỳ chỉnh khi bạn thiết kế xách tay XSLT phong cách tờ.

    Tạo một ASP.NET Web mẫu

    1. Tạo ra một mới Visual C#.NET ASP.Dự án ứng dụng Web NET đặt tên DateTimeXSLT.
    2. Thêm một mô-đun hạng mới tên là DateConverter.cs để các dự án. Mở điều này trong trình soạn thảo mã, và sau đó xóa các mã hiện có.
    3. Dán đoạn mã sau trong lớp DateConverter.cs mô-đun để thực hiện các DateConverter lớp:
      using System;namespace DateTimeXSLT{	public class DateConverter	{		public string GetDateTime(string data, string format)		{			DateTime dt = DateTime.Parse(data);			return dt.ToString(format);		}	}}
    4. Lưu các thay đổi để DateConverter.cs.
    5. Nhấp chuột phải vào bề mặt thiết kếWebForm1.aspx, sau đó bấm Xem mã để chỉnh sửa mã trong mẫu Web mã đằng sau lớp WebForm1.aspx.cs mô-đun.
    6. Thêm sau đây vào cuối của các bằng cách sử dụng chỉ thị phần tại WebForm1.aspx.cs:
      	using System.IO;	using System.Xml;	using System.Xml.Xsl;	using System.Xml.XPath;	using System.Data.SqlClient;
    7. Dán đoạn mã sau trong các Page_Load phương pháp:
      	// Change Sql Server name, User Id and Password in following connection string.	string strConn = "Server=SQLServerName;database=Northwind; user id=<username>; password=<strong password>;	SqlConnection connection = new SqlConnection();	connection.ConnectionString = strConn;	DataSet objDataSet = new DataSet();	SqlDataAdapter objAdapter = new SqlDataAdapter();	SqlCommand objCmd = new SqlCommand();	// Retrieve all records from employees table.	objCmd.CommandText = "select FirstName,BirthDate from employees";	objCmd.Connection = connection;	objAdapter.SelectCommand = objCmd;	objAdapter.Fill(objDataSet);	connection.Close();	// Create an instance of StringReader class that reads the XML data.	StringReader reader = new StringReader(objDataSet.GetXml());	XPathDocument doc = new XPathDocument(reader);	// Create an XslTransform object and load xslt file.	XslTransform transform = new XslTransform();	transform.Load(this.MapPath("DateTime.xslt"));	//Add an object to convert  DateTime format.	DateConverter objDateConverter =		new DateConverter();	XsltArgumentList args = new XsltArgumentList();	args.AddExtensionObject("urn:ms-kb", objDateConverter);	transform.Transform(doc, args, Response.OutputStream);	
    8. Lưu các thay đổi để WebForm1.aspx.cs.

    Tạo một tài liệu XSLT mẫu

    1. Thêm tệp XSLT mới tên là DateTime.xslt để DateTimeXSLT ASP.NET Web dự án.
    2. Thay thế mã được tạo ra với đoạn mã sau. Sử dụng Notepad như một công cụ trung gian, nếu bạn có bất kỳ mã hóa hoặc ký tự vấn đề khi bạn cố gắng dán mã này trong tập tin:
      <?xml version='1.0'?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns:myObj="urn:ms-kb"><xsl:template match="NewDataSet"><table><xsl:attribute name="border">1</xsl:attribute>   <TR><TD>Employee name</TD><TD>Original DateTime Format</TD><TD>Changed DateTime Format</TD></TR>	<xsl:apply-templates select="*"/></table></xsl:template><xsl:template match="*">	<TR>	<xsl:apply-templates select="*"/>	</TR></xsl:template><xsl:template match="FirstName"><TD>	<xsl:value-of select="."/></TD></xsl:template><xsl:template match="BirthDate"><xsl:variable name="Date" select="."/><TD><xsl:value-of select="$Date"/></TD><TD>		<xsl:value-of select="myObj:GetDateTime($Date, 'F')"/></TD></xsl:template></xsl:stylesheet>
    3. Lưu các thay đổi để DateTime.xslt.

    Kiểm tra sự chuyển đổi XSLT bằng cách sử dụng ASP.NET Web mẫu

    1. Lưu các thay đổi để DateTimeXSLT ASP.NET Web dự án.
    2. Trên các Xây dựng trình đơn, nhấp vào Xây dựng Giải pháp.
    3. Chạy Microsoft Internet Explorer và mở WebForm1.aspx bởi cách xác định URL sau, nơi IISServerName là tên máy chủ IIS của bạn:
      http://IISServerName/DateTimeXSLT/WebForm1.aspx
    Bây giờ bạn có thể thấy các DateTime định dạng của các Số liệu và việc chuyển DateTime định dạng trên trang WebForm1.aspx.
    THAM KHẢO
    Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
    323370Làm thế nào để sử dụng phần mở rộng đối tượng khi bạn thực hiện XSL transformations trong Visual C#.Các ứng dụng mạng

    Cảnh báo: Bài viết này được dịch tự động

    Thuộc tính

    ID Bài viết: 330597 - Xem lại Lần cuối: 08/28/2011 10:37:00 - Bản sửa đổi: 2.0

    Microsoft ADO.NET 1.1, Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft Visual C# .NET 2002 Standard Edition

    • kbwebforms kbdatetime kbhowtomaster kbmt KB330597 KbMtvi
    Phản hồi
    >