나는 실버 라이트로 창 전화 7 응용 프로그램을 개발 중입니다. 나는 실버 라이트가 처음이다. 저는 LINQ to XML을 처음 접했습니다. 내 응용 프로그램에서 사용자는 응용 프로그램에 거래 세부 사항을 제출 & 날짜를 선택합니다. 세부 정보는 XML 파일에 저장됩니다. 그런 다음 AppObj.date의 값이 XML 파일에 저장됩니다LINQ to XML을 사용하여 datetime 값을 쿼리하는 방법은 무엇입니까?
private void DatePicker_ValueChanged(object sender, DateTimeValueChangedEventArgs e)
{
AppObj = Application.Current as App;
AppObj.date = (DateTime)EntryDate.Value;
}
을 다음과 같이 나는 날짜 선택 내 응용 프로그램에서 사용자 지정 날짜 컨트롤을 사용하고 있습니다. 때로는 DateTime.Now를 사용하여 XML 파일에 날짜를 저장합니다. 이제 LINQ to XML을 쿼리하여 제출 된 거래 세부 정보의 보고서를 생성하려고합니다. 오늘의 오늘 주 & 월에 대한 보고서를 생성하고 싶습니다. 오늘 날짜 보고서의 경우 다음 코드를 사용하고 있습니다.
public void GetTransactionObjects(String strXMLFile, DateTime VDateTime)
{
XDocument doc = null;
XMLFileManager XMLDocObj = new XMLFileManager();
doc = XMLDocObj.LoadXMLFile(strXMLFile);
var vTransaction = from s in doc.Descendants("Transaction")
.Where(x => x.Element("Current_Date").Value == VDateTime.ToShortDateString())
select new Transaction(s);
this.Clear();
AddRange(vTransaction);
}
트랜잭션 클래스에는 다음 생성자가 포함되어 있습니다. 는 XML 값을 파일에
public Transaction(XElement xElement)
{
Transaction_ID = Convert.ToInt32(xElement.Element("Transaction_ID").Value.ToString());
TransactionType_ID = Convert.ToInt32(xElement.Element("TransactionType_ID").Value.ToString());
Alphabet_ID = Convert.ToInt32(xElement.Element("Alphabet_ID").Value.ToString());
ID = Convert.ToInt32(xElement.Element("ID").Value.ToString());
SubCategory_ID = Convert.ToInt32(xElement.Element("SubCategory_ID").Value.ToString());
Item_ID = Convert.ToInt32(xElement.Element("Item_ID").Value.ToString());
Currency_ID = Convert.ToInt32(xElement.Element("Currency_ID").Value.ToString());
InputTypeMethod_ID = Convert.ToInt32(xElement.Element("InputTypeMethod_ID").Value.ToString());
Principle = Convert.ToInt32(xElement.Element("InputTypeMethod_ID").Value.ToString());
Interest = Convert.ToInt32(xElement.Element("Interest").Value.ToString());
ROI = Convert.ToInt32(xElement.Element("InputTypeMethod_ID").Value.ToString());
Amount = Convert.ToInt32(xElement.Element("InputTypeMethod_ID").Value.ToString());
Current_Date = Convert.ToDateTime(xElement.Element("Current_Date").Value.ToString());
}
는 날짜 & 시간 동안 저장됩니다. 노드
<Current_Date>2010-12-31T18:08:23.433+05:30</Current_Date>
날짜 형식에서
<Transactions>
<Transaction>
<Transaction_ID>0</Transaction_ID>
<TransactionType_ID>0</TransactionType_ID>
<Alphabet_ID>3</Alphabet_ID>
<ID>0</ID>
<SubCategory_ID>0</SubCategory_ID>
<Item_ID>0</Item_ID>
<Currency_ID>3</Currency_ID>
<InputTypeMethod_ID>0</InputTypeMethod_ID>
<Principle>0</Principle>
<Interest>0</Interest>
<ROI>0</ROI>
<Amount>5000</Amount>
<Current_Date>2010-12-31T18:08:23.433+05:30</Current_Date>
</Transaction>
</Transactions>
봐 YYYY-MM-DD되어 다음과 같이 값이 저장됩니다.
지금 제출 된 거래 내역을 오늘 날짜로 가져 오려면 어떻게해야합니까?
var vTransaction = from s in doc.Descendants("Transaction")
.Where(x => x.Element("Current_Date").Value == VDateTime.ToShortDateString())
select new Transaction(s);
마찬가지로 어떻게 현재의 주 & 현재 월에 대한 모든 거래 내역을 얻을 수있는 쿼리를 작성해야합니까? 위의 문제를 해결할 수있는 코드 나 링크를 제공해 주시겠습니까? 내가 틀린 일을하고 있다면 나를 안내 해주십시오.