请教一个关于XML的问题:
我的XML是这样的 <?xml version="1.0" encoding="utf-8" ?>
<FieldsMap>
<Fields Name="ennm" Caption="工程名称"/>
<Fields Name="dscd" Caption="行政区划代码"/>
<Fields Name="dsnm" Caption="行政区划名称"/>
<Fields Name="ennmcd" Caption="河流名称代码" align="center"/>
<Fields Name="aduncd" Caption="管理单位代码"/>
<Fields Name="adunnm" Caption="管理单位名称"/>
</FieldsMap>
我在GridView CREA事件里访问XML中的节点 <FieldsMap>的子节点
protected void GridView_RowCreated(object sender, GridViewRowEventArgs e)
{ if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (XmlNode xn1 in .DataQueryAdapter.DataQueryInterface.CfgXMLNode)
{
if (xn1.Name == "FieldsMap")
{
foreach (XmlNode xdo in xn1.ChildNodes)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
if (xdo.Attributes["Name"].Value.Trim() != null)
{
if (((BoundField)(this.rpt.Columns[i])).HeaderText.Trim().Equals(xdo.Attributes["Name"].Value.Trim()))
{ //if (xdo.Attributes.GetNamedItem("width") != null)
//{
// this.rpt.Columns[i].HeaderStyle.Width = Unit.Pixel(int.Parse(xdo.Attributes.GetNamedItem("width").Value)); //}
if (xdo.Attributes.GetNamedItem("align") != null)
{
if (xdo.Attributes.GetNamedItem("align").Value.ToString().Trim() == "center")
{ this.rpt.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Center; }
if (xdo.Attributes.GetNamedItem("align").Value.ToString().Trim() == "left")
{ this.rpt.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Left; }
if (xdo.Attributes.GetNamedItem("align").Value.ToString().Trim().ToLower().Equals("123"))
{ this.rpt.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Right; }
}
}
}
} }
}
} }
}
但是总报错说xdo.Attributes["Name"].Value.未将对象引用到实例?为什么啊,各位哥们
我的XML是这样的 <?xml version="1.0" encoding="utf-8" ?>
<FieldsMap>
<Fields Name="ennm" Caption="工程名称"/>
<Fields Name="dscd" Caption="行政区划代码"/>
<Fields Name="dsnm" Caption="行政区划名称"/>
<Fields Name="ennmcd" Caption="河流名称代码" align="center"/>
<Fields Name="aduncd" Caption="管理单位代码"/>
<Fields Name="adunnm" Caption="管理单位名称"/>
</FieldsMap>
我在GridView CREA事件里访问XML中的节点 <FieldsMap>的子节点
protected void GridView_RowCreated(object sender, GridViewRowEventArgs e)
{ if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (XmlNode xn1 in .DataQueryAdapter.DataQueryInterface.CfgXMLNode)
{
if (xn1.Name == "FieldsMap")
{
foreach (XmlNode xdo in xn1.ChildNodes)
{
for (int i = 0; i < e.Row.Cells.Count; i++)
{
if (xdo.Attributes["Name"].Value.Trim() != null)
{
if (((BoundField)(this.rpt.Columns[i])).HeaderText.Trim().Equals(xdo.Attributes["Name"].Value.Trim()))
{ //if (xdo.Attributes.GetNamedItem("width") != null)
//{
// this.rpt.Columns[i].HeaderStyle.Width = Unit.Pixel(int.Parse(xdo.Attributes.GetNamedItem("width").Value)); //}
if (xdo.Attributes.GetNamedItem("align") != null)
{
if (xdo.Attributes.GetNamedItem("align").Value.ToString().Trim() == "center")
{ this.rpt.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Center; }
if (xdo.Attributes.GetNamedItem("align").Value.ToString().Trim() == "left")
{ this.rpt.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Left; }
if (xdo.Attributes.GetNamedItem("align").Value.ToString().Trim().ToLower().Equals("123"))
{ this.rpt.Columns[i].ItemStyle.HorizontalAlign = HorizontalAlign.Right; }
}
}
}
} }
}
} }
}
但是总报错说xdo.Attributes["Name"].Value.未将对象引用到实例?为什么啊,各位哥们
解决方案 »
- 很久不用.net了,问下大家目前在用VS2005的多吗,主流是什么?
- asp.net论坛问题
- RegisterStartupScript执行的脚本被直接输出在页面上
- 高手请进!关于泛型List<T>的问题,急急急!!!
- 不知道现在有什么新技术可以提升技术
- 谁能看出这段数据帮定的错误,100分给你
- 如何禁用客户端验证??设置了EnableScriptClient="False"没用!
- 请问下载的VS.net的后缀名为.ISO的文件要用什么才能打开啊
- 关于关系数据库的更新,征求意见和实现方法!!
- list.aspx?name=中国 如何提取“中国”字符
- 如何在输出.txt文件的换行符?
- 诚邀C#开发人员加入,北京.中关村,结贴后转往非技术区
还怎么判断啊