Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Книги по теме

Искать:
в:
Порядок:

Исходник

Автор:

SergS

 
Название:

XQuery + DataGrid

Дата: 09 January 2007
Описание: Пример объединяющего XQuery-запроса к двум XML файлам с выводом резельтата в DataGrid(для работы необходима библиотека Microsoft.Xml.XQuery в папке Bin)  
  Разместить ссылку на этот исходник в форуме вы можете вставив в текст сообщения следующую строку: [CODEPOST ID=204]XQuery + DataGrid[/CODEPOST]
Оценка: Проголосовало 3 посетителей, средняя оценка 3.67
Оценить:
  1 Build.bat
  2 set qq="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc"
  3 del bin\WebForm1.aspx.dll
  4 cls
  5 %qq% /target:library  /out:bin\WebForm1.aspx.dll WebForm1.aspx.cs /r:System.Web.dll /r:bin\Microsoft.Xml.XQuery.dll
  6 //--------------------
  7 T1.xml
  8 
  9 <?xml version="1.0" standalone="yes"?>
 10 <NewDataSet>
 11   <Table>
 12     <kod>1</kod>
 13     <dat>2004</dat>
 14   </Table>
 15   <Table>
 16     <kod>2</kod>
 17     <dat>2005</dat>
 18   </Table>
 19   <Table>
 20     <kod>3</kod>
 21     <dat>2006</dat>
 22   </Table>
 23   <Table>
 24     <kod>1</kod>
 25     <dat>2004</dat>
 26   </Table>
 27   <Table>
 28     <kod>2</kod>
 29     <dat>2005</dat>
 30   </Table>
 31   <Table>
 32     <kod>3</kod>
 33     <dat>2006</dat>
 34   </Table>
 35 </NewDataSet>
 36 //---------------------
 37 T2.xml
 38 
 39 <?xml version="1.0" standalone="yes"?>
 40 <NewDataSet>
 41   <Table>
 42     <kod>1</kod>
 43     <naim>aaa</naim>
 44   </Table>
 45   <Table>
 46     <kod>2</kod>
 47     <naim>bbb</naim>
 48   </Table>
 49   <Table>
 50     <kod>3</kod>
 51     <naim>ccc</naim>
 52   </Table>
 53 </NewDataSet>
 54 
 55 //---------------------
 56 WebForm1.aspx
 57 
 58 <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="XQ03.WebForm1" %>
 59 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
 60 <HTML>
 61 	<HEAD>
 62 		<title>WebForm1</title>
 63 		<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
 64 		<meta name="CODE_LANGUAGE" Content="C#">
 65 		<meta name="vs_defaultClientScript" content="JavaScript">
 66 		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
 67 	</HEAD>
 68 	<body MS_POSITIONING="GridLayout">
 69 		<form id="Form1" method="post" runat="server">
 70 			<asp:DataGrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 24px; POSITION: absolute; TOP: 88px" runat="server"
 71 				Height="240px" Width="552px"></asp:DataGrid>
 72 		</form>
 73 	</body>
 74 </HTML>
 75 
 76 
 77 WebForm1.aspx.cs
 78 
 79 using System;
 80 using System.Collections;
 81 using System.ComponentModel;
 82 using System.Data;
 83 using System.Drawing;
 84 using System.Web;
 85 using System.Web.SessionState;
 86 using System.Web.UI;
 87 using System.Web.UI.WebControls;
 88 using System.Web.UI.HtmlControls;
 89 using Microsoft.Xml.XQuery;
 90 using System.IO;
 91 using System.Xml;
 92 
 93 namespace XQ03
 94 {
 95 	/// <summary>
 96 	/// Summary description for WebForm1.
 97 	/// </summary>
 98 	public class WebForm1 : System.Web.UI.Page
 99 	{
100 		protected System.Web.UI.WebControls.DataGrid DataGrid1;
101 	
102 		private void Page_Load(object sender, System.EventArgs e)
103 		{
104 			DataSet DS=new DataSet();
105 
106 			XQueryNavigatorCollection oXQ = new XQueryNavigatorCollection();     
107 			string strXML = "";
108 			string fileName1="c:\\Test\\T1.xml";
109 			string alias1 = "MyDataTest.xml";
110 			string fileName2="C:\\Test\\T2.xml";
111 			string alias2 = "MyDatattt.xml";
112 
113 			oXQ.AddNavigator( fileName1, alias1 );
114 			oXQ.AddNavigator( fileName2, alias2 );
115 			
116 			string strQuery = "<NewDataSet> { " +
117 				" let $bb := document(\"MyDataTest.xml\")/*/* " +
118 				" let $cc := document(\"MyDatattt.xml\")/*/* " +
119 				" for $c in $cc " +
120 				" for $b in $bb " +
121 				" where $c/kod = $b/kod " +
122 				" return <Table> { $b/nazv,$b/dat,$c/naim } </Table> " +
123 				" }</NewDataSet> ";
124 
125 			XQueryExpression xExpression = new XQueryExpression(strQuery);
126 			strXML = xExpression.Execute(oXQ).ToXml();
127 			StringReader strReader = new StringReader(strXML);
128 			XmlTextReader reader = new XmlTextReader(strReader);
129 			DS.ReadXml(reader);
130 			DataGrid1.DataSource = DS.Tables[0];
131 			DataGrid1.DataBind();
132 
133 		}
134 
135 		#region Web Form Designer generated code
136 		override protected void OnInit(EventArgs e)
137 		{
138 			InitializeComponent();
139 			base.OnInit(e);
140 		}
141 		
142 		private void InitializeComponent()
143 		{    
144 			this.Load += new System.EventHandler(this.Page_Load);
145 
146 		}
147 		#endregion
148 	}
149 }
150 
Вернуться к списку исходников в категории DataGrid, DataList, Repeater
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта