目的:文本用来将数据库中的数据映射为XML格式的数据,并显示在页面上。

预备知识:
1)XML:

XML 指可扩展标记语言(EXtensible Markup Language)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是 W3C 的推荐标准

2) XSLT:

XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言。

XSLT 指 XSL 转换(XSL Transformations)。
XSLT 是 XSL 中最重要的部分。
XSLT 可将一种 XML 文档转换为另外一种 XML 文档。
XSLT 使用 XPath 在 XML 文档中进行导航。
XPath 是一个 W3C 标准。

3) FOR XML AUTO 查询语句

可以使用FOR XML AUTO子句修改SQL查询,使之返回XML。

比如:

【简单示例:数据库表转XML】

XML格式:

【简单示例:数据库表转XML】
XML可以是来自于任何地方的数据源,例如Web服务、磁盘上的文件、从Web服务器返回的XML片段或数据库。SQL Server 2005以上版本内置了对XML数据类型的支持。而本文要做的就是从数据库中得到XML文件。

准备:Northwind.mdf数据库一个,点击这里下载。

首先,在VS下新建一个WebApplication,后台代码如下:

protected void Page_Load(object sender, EventArgs e)
{
string connStr = @"Data Source=.\sqlexpress;database=Northwind.mdf;User Id=sa;pwd=123456";
XmlDocument x
= new XmlDocument();
XPathNavigator xpathnav
= x.CreateNavigator();

using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
string sqlStr = "select * from 客户 as Customer for XML AUTO, ELEMENTS";
//for XML AUTO, ELEMENTS会提取出来文档中元素

SqlCommand command
= new SqlCommand(sqlStr, conn);

using (XmlWriter xw = xpathnav.PrependChild())
{
xw.WriteStartElement(
"Customer");
using (XmlReader xr = command.ExecuteXmlReader())
{
xw.WriteNode(xr,
true);
}
xw.WriteEndElement();
}
}

Xml1.XPathNavigator
= xpathnav;
}
object sender, EventArgs e)
{
	string connStr = @"Data Source=.\sqlexpress;database=Northwind.mdf;User Id=sa;pwd=123456";
	XmlDocument x = new XmlDocument();
	XPathNavigator xpathnav = x.CreateNavigator();

	using (SqlConnection conn = new SqlConnection(connStr))
	{                
		conn.Open();
		string sqlStr = "select * from 客户 as Customer for XML AUTO, ELEMENTS";
		//for XML AUTO, ELEMENTS会提取出来文档中元素
		
		SqlCommand command = new SqlCommand(sqlStr, conn);

		using (XmlWriter xw = xpathnav.PrependChild())
		{
			xw.WriteStartElement("Customer");
			using (XmlReader xr = command.ExecuteXmlReader())
			{
				xw.WriteNode(xr, true);
			}
			xw.WriteEndElement();
		}
	}

	Xml1.XPathNavigator = xpathnav;
}

相关文章:

  • 2022-12-23
  • 2019-06-11
  • 2021-07-29
  • 2022-12-23
  • 2021-12-08
  • 2021-09-19
  • 2022-12-23
  • 2021-12-07
猜你喜欢
  • 2021-05-22
  • 2022-12-23
  • 2021-11-05
  • 2021-09-06
  • 2022-12-23
  • 2021-12-23
  • 2021-08-07
相关资源
相似解决方案