ASP.NET中读取XML文件信息的4种方法与示例代码

方法一 :使用XML控件
<% @ Page Language="C#"%>
<html>
<body>  
       <h3><font face="Verdana">读取XML方法一</font></h3>
       <from runat=server>
        <asp:Xml id="xml1" DocumentSource="grade.xml" runat="server" />
      </from>
</body>
</html>
方法二: 使用DOM技术
<% @ Page Language="C#"%>
<% @ Import Namespace="System.Xml"%>
<% @ Import Namespace="System.Xml.Xsl"%>
<html>
<script language="C#" runat="server">
void Page_Load(Object sender,EventArgs e)
{
   XmlDocument doc=new XmlDocument();
   doc.Load(Server.MapPath("grade.xml"));
   xml1.Document=doc;
}
</script>
<body>
   <h3><font face="Verdana">读取XML方法二</font></h3>
    <from runat=server>
        <asp:Xml id="xml1"  runat="server" />
    </from>
</body>
</html>
方法三 :使用DataSet对象
<% @ Page Language="C#"%>
<% @ Import Namespace="System.Data"%>
<% @ Import Namespace="System.Data.OleDb"%>
<script language="C#" runat="server">
void Page_Load(Object sender,EventArgs e)
 {
   DataSet  objDataSet=new DataSet();
   objDataSet.ReadXml(Server.MapPath("grade.xml"));
   dgEmployees.DataSource=objDataSet.Tables["student"].DefaultView;
   dgEmployees.DataBind();
}
</script>
<body>
   <h3><font face="Verdana">读取XML方法三</font></h3>
   <asp:DataGrid id="dgEmployees" runat="server" />
</body>
</html>
方法四 :按文本方式读取
<% @ Page Language="C#"%>
<% @ Import Namespace="System.Xml"%>
<html>
<script language="C#" runat="server">
private void Page_Load(Object sender,EventArgs e)
 {
    XmlTextReader objXMLReader=new XmlTextReader(Server.MapPath("grade.xml"));
    string strNodeResult="";
    XmlNodeType objNodeType;
 while(objXMLReader.Read())
{
    objNodeType =objXMLReader.NodeType;
    swith(objNodeType)
    {
    case XmlNodeType.XmlDeclaration:
      //读取XML文件头
      strNodeResult+="XML Declaration:<b>"+objXMLReader.Name+""+objXMLReader.Value+"</b><br/>";
      break;
   case XmlNodeType.Element:
     //读取标签
     strNodeResult+="Element:<b>"+objXMLReader.Name+"</b><br/>";
     break;
   case XmlNodeType.Text:
     //读取值
     strNodeResult+=" -Value:<b>"+objXMLReader.Value+"</b><br/>";
     break;
   }
//判断该节点是否有属性
 if(objXMLReader.AttributeCount>0)
  {  //用循环判断完所有节点
    while(objXMLReader.MoveToNextAttibute)
     { //取标签和值
     strNodeResult+=" -Attribute:<b>"+objXMLReader.Name+"</b> value:<b>"+objXMLReader.Value+"</b><br/>";
      }
   }
 LblFile.Text=strNodeResult;
}
}
</script>
<body>
   <h3><font face="Verdana">读取XML方法四</font></h3>
    <from runat=server>
        <asp:label id="LblFile"  runat="server" />
    </from>
</body>
</html>

 

在ASP.Net中有很多种方法读取XML,在这里简单的总结一下:
1. XmlDocument方法:

2. XmlTextReader方法:

 1 XmlDocument doc  =   new  XmlDocument();
 2             XmlNode root  =   null ;
 3             XmlNodeList nodes  =   null ;
 4             doc.Load(HttpContext.Current.Server.MapPath( " ~/App_Data/Workflow.xml " ));
 5             root  =  doc.DocumentElement;
 6             nodes  =  root.SelectNodes( " /TeamTrack/Workflow " );
 7              foreach  (XmlNode node  in  nodes)
 8              {
 9                if (node.Attributes["ID"].Value == row["Workflow_ID"].ToString())
10                    this.WorkflowName = node.Attributes["Name"].Value;
11                else
12                    this.WorkflowName = "";
13            }

 

 1 XmlTextReader reader  =   new  XmlTextReader(HttpContext.Current.Server.MapPath( " ~/App_Data/Workflow.xml " ));
 2                  while  (reader.Read())
 3                  {
 4                    if (reader.NodeType == XmlNodeType.Element && reader.Name == "Workflow")
 5                    {
 6                        if (dl_task.Workflow_ID == reader["ID"])
 7                        {
 8                            workflowtype = reader["Type"].ToString();
 9                            break;
10                        }

11                    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值