1.xml控件方法直接读取
<asp:Xml ID="Xml1" runat="server" DocumentSource="~/m.xml"></asp:Xml>
2.后台绑定XML控件
HTML代码:
<asp:Xml ID="xml_show" runat="server"></asp:Xml>
CS代码:
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("m.xml"));
xml_show.Document = doc;
3.转成DataSet 用DataGuid绑定
HTML:
<asp:DataGrid ID="dg_show" runat="server"></asp:DataGrid>
CS代码:
DataTable dt = new DataTable();
dt=ReaderXmlReturnTable(Server.MapPath("m.xml"));
this.dg_show.DataSource = dt;
this.dg_show.DataBind();
public static DataTable ReaderXmlReturnTable(string Path)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds = null;
ds = Read(Path);
dt = ds.Tables["exam"];
return dt;
}
public static DataSet Read(string Path)
{
DataSet ds = new DataSet();
try
{
ds.ReadXml(Path);
}
catch (Exception ex)
{
}
return ds;
}
4. 流水帐方式读出
前台绑定Lable
后台代码:
public void GetXml()
{
XmlTextReader objXMLReader = new XmlTextReader(Server.MapPath("m.xml"));
string strNodeResult = "";
XmlNodeType objNodeType;
while (objXMLReader.Read())
{
objNodeType = objXMLReader.NodeType;
switch (objNodeType)
{
case XmlNodeType.Attribute:
break;
case XmlNodeType.CDATA:
break;
case XmlNodeType.Comment:
break;
case XmlNodeType.Document:
break;
case XmlNodeType.DocumentFragment:
break;
case XmlNodeType.DocumentType:
break;
case XmlNodeType.Element:
strNodeResult += "Element:<b>" + objXMLReader.Name + "</b><br/>";
break;
case XmlNodeType.EndElement:
break;
case XmlNodeType.EndEntity:
break;
case XmlNodeType.Entity:
break;
case XmlNodeType.EntityReference:
break;
case XmlNodeType.None:
break;
case XmlNodeType.Notation:
break;
case XmlNodeType.ProcessingInstruction:
break;
case XmlNodeType.SignificantWhitespace:
break;
case XmlNodeType.Text:
//读取值
strNodeResult += " -Value:<b>" + objXMLReader.Value + "</b><br/>";
break;
case XmlNodeType.Whitespace:
break;
case XmlNodeType.XmlDeclaration:
strNodeResult += "XML Declaration:<b>" + objXMLReader.Name + "" + objXMLReader.Value + "</b><br/>";
break;
default:
break;
}
//判断该节点是否有属性
if (objXMLReader.AttributeCount > 0)
{ //用循环判断完所有节点
//while (objXMLReader.MoveToNextAttibute)
while(objXMLReader.MoveToNextAttribute())
{ //取标签和值
strNodeResult += " -Attribute:<b>" + objXMLReader.Name + "</b> value:<b>" + objXMLReader.Value + "</b><br/>";
}
}
lb_show.Text = strNodeResult;
}
}
--------------------------------------
待续... ...