날짜가 "dd/MM/yyyy hh : mm : ss"형식의 XML 문자열이 있습니다.DataSet.ReadXml을 사용하여 DateTime 특성을 형식화 된 DateTime으로 구문 분석하는 방법
DataSet.ReadXml()
을 사용하여이 XML을 데이터 세트에로드하고 있습니다.
어떻게이 날짜를 DataSet에 형식화 된 DateTime으로 저장하여 그에 따라 Sort, Format 및 RowFilter를 수행 할 수 있는지 확인할 수 있습니다.
내 테스트 환경은 다음과 같습니다 :
ASPX 페이지 :
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="XmlDateTypeList.aspx.cs" Inherits="Test.XmlDateTypeList" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Test</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="Date" HeaderText="Date" DataFormatString="{0:dddd dd MMMM yyyy}" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
코드 뒤에 :
using System;
using System.Data;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
namespace Test
{
public partial class XmlDateTypeList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
XDocument xDoc = new XDocument(
new XElement("List",
new XElement("Item",
new XAttribute("Name", "A"),
new XAttribute("Date", "21/01/2010 00:00:00")
),
new XElement("Item",
new XAttribute("Name", "B"),
new XAttribute("Date", "12/01/2010 00:00:00")
),
new XElement("Item",
new XAttribute("Name", "C"),
new XAttribute("Date", "10/01/2010 00:00:00")
),
new XElement("Item",
new XAttribute("Name", "D"),
new XAttribute("Date", "28/01/2010 00:00:00")
)
)
);
DataSet dataSet = new DataSet();
dataSet.ReadXml(new StringReader(xDoc.ToString()));
GridView1.DataSource = dataSet.Tables[0];
GridView1.DataBind();
}
}
}
XML을 강력하게 입력 할 수 없다는 것은 무엇을 의미합니까? 문제는 XML 데이터에 유효한 날짜가 포함되어 있지 않다는 것입니다. 정확히 XML에서 날짜를 표현하는 것은 하나뿐입니다. XML이 XML 표준을 따를 것으로 기대하는 도구로 문자열을 날짜로 간주하는 데 관심이있는 경우 XML 스키마에서'xs : Date' 형식을 찾습니다. –
그래, 내 답변을 업데이 트됩니다, 당신은 xml 날짜를 입력 할 수 있지만 날짜가 이상한 형식이기 때문에 예제에 없습니다. XML 스키마 당 유효한 날짜가 아닌 유효한 날짜입니다 (영국 표준). – nbushnell
답변 해 주셔서 감사합니다. 결국 실제로 xslt에서 문자열 조작을 사용하여 올바른 형식으로 날짜를 변환 한 다음 데이터 세트에 날짜라고 알리기 위해 xsd를로드했습니다. –