mysql查询字段内容为xml_如何把数据库中类型为XML的列查询出来并以表格显示?

展开全部

最近刚刚做这个:

public void BindData()

{

DataTable dt = InitTableForBindData();

if (ControlAppType == 2)

{

gv_RawDataList.DataSource = null;

gv_RawDataList.DataBind();

for (int int_row = gv_RawDataList.Columns.Count - 1; int_row > 2; int_row--)

{

gv_RawDataList.Columns.RemoveAt(int_row);

}

pnlSelectPhotos.Visible = false;

pnlSpecial.Visible = false;

//dt = BaseClass.GridViewToTable2.Instance.GridViewToDataTable(gv_RawDataList);

}

EditionWCF.t_edition t_Edition = editionClient.GetEditionById(EditionID);

List PhotoList = new List();

List SpecialList = new List();

//构造table的列

if ((t_Edition != null) && (t_Edition.ContentXML != null))

{

XmlDocument doc = new XmlDocument();

doc.LoadXml(t_Edition.ContentXML.ToString());

XmlNode nodeRoot = doc.SelectSingleNode(@"Edition/Pages");

foreach (XmlNode node_Page in nodeRoot)

{

if (node_Page.Attributes[0].Value.ToString() == PageNum.ToString())

{

XmlNode node_Items = node_Page.SelectSingleNode(@"Items");

foreach (XmlNode node_item in node_Items)

{

if (node_item.Name == "Item")

{

XmlNode node_RawdataColumns = node_item.SelectSingleNode(@"RawdataColumns");

foreach (XmlNode node_RawdataColumn in node_RawdataColumns)

{

try

{

dt.Columns.Add(node_RawdataColumn.Attributes[0].Value, typeof(string));

}

catch { }

}

XmlNode node_UserColumns = node_item.SelectSingleNode(@"UserColumns");

foreach (XmlNode node_UserColumn in node_UserColumns)

{

try

{

dt.Columns.Add(node_UserColumn.Attributes[0].Value, typeof(string));

hidenUserDataCount.Value = (int.Parse(hidenUserDataCount.Value) + 1).ToString();

}

catch { }

}

}

}

}

}

}

///装载62616964757a686964616fe59b9ee7ad9431333239303137数据

if ((t_Edition != null) && (t_Edition.ContentXML != null))

{

XmlDocument doc = new XmlDocument();

doc.LoadXml(t_Edition.ContentXML.ToString());

XmlNode nodeRoot = doc.SelectSingleNode(@"Edition/Pages");

foreach (XmlNode node_Page in nodeRoot)

{

if (node_Page.Attributes[0].Value.ToString() == PageNum.ToString())

{

XmlNode node_Items = node_Page.SelectSingleNode(@"Items");

foreach (XmlNode node_item in node_Items)

{

if (node_item.Name == "Item")

{

DataRow dr = dt.NewRow();

dr["SKU"] = "" + Server.HtmlDecode(node_item.Attributes["SKU"].Value) + "";

dr["Name"] = "" + Server.HtmlDecode(node_item.Attributes["Name"].Value) + "";

dr["Description"] = "" + Server.HtmlDecode(node_item.Attributes["Description"].Value) + "";

//dr["PriceRef"] = "" + Server.HtmlDecode(node_item.Attributes["PriceRef"].Value) + "";

XmlNode node_RawdataColumns = node_item.SelectSingleNode(@"RawdataColumns");

foreach (XmlNode node_RawdataColumn in node_RawdataColumns)

{

dr[node_RawdataColumn.Attributes[0].Value] = Server.HtmlDecode(node_RawdataColumn.InnerXml);

}

XmlNode node_UserColumns = node_item.SelectSingleNode(@"UserColumns");

foreach (XmlNode node_UserColumn in node_UserColumns)

{

dr[node_UserColumn.Attributes[0].Value] = Server.HtmlDecode(node_UserColumn.SelectSingleNode("Value").InnerXml);

}

XmlNode node_Photolinks = node_item.SelectSingleNode(@"Photolinks");

foreach (XmlNode node_Photolink in node_Photolinks)

{

Photo p = new Photo();

p.SKU = dr["SKU"].ToString();

p.PhotoID = "0";

p.PhotoPath = node_Photolink.InnerXml;

p.PhotoName = "0";

PhotoList.Add(p);

}

XmlNode node_Specials = node_item.SelectSingleNode(@"Specials");

foreach (XmlNode node_Special in node_Specials)

{

Special p = new Special();

p.SKU = dr["SKU"].ToString();

p.SpecialCode = node_Special.InnerXml;

SpecialList.Add(p);

}

dt.Rows.Add(dr);

}

}

}

}

}

//构造GridView列

foreach (DataColumn dc in dt.Columns)

{

BoundField bf = new BoundField();

bf.HeaderText = "" + dc.ColumnName + "";

bf.DataField = dc.ColumnName;

bf.HtmlEncode = false;

gv_RawDataList.Columns.Add(bf);

}

gv_RawDataList.DataSource = dt;

gv_RawDataList.DataBind();

SetGvLink();

gv_Hidden_ALLSpecials.DataSource = SpecialList;

gv_Hidden_ALLSpecials.DataBind();

gv_Hidden_Photos.DataSource = PhotoList;

gv_Hidden_Photos.DataBind();

BindChkListSpecial();

Bindgv_EachRawData_Photos();

SetGVPhotoButtonValue();

hidenOldGVColumnsCount.Value = gv_RawDataList.Columns.Count.ToString();

}

前台就一个GV

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值