发布网友 发布时间:2022-04-27 16:11
共3个回答
懂视网 时间:2022-04-27 20:32
方法一 :使用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>
热心网友 时间:2022-04-27 17:40
看代码应该是
通过WebService返回数据;(字符串类型)
你通过把字符串转换为XmlDocument对象就可以获取里面所有的值;
-----------简单的例子;
System.Xml.XmlDocument
xd
=
new
System.Xml.XmlDocument();
//string
xmlStr="<books><book
name=\"三字经\"
id=\"1\"><Desc>这是一本好书...</Desc></book></books>"
xd.LoadXml(xmlStr);
System.Xml.XmlNode
xn
=
xd.DocumentElement.GetElementsByTagName("book")[0];
string
str
=
xn.Attributes["name"].Value;
//三字经;
str
=
xn.Attributes["id"].Value;
//1
str
=
xn.InnerText;
//这是一本好书...热心网友 时间:2022-04-27 18:58
///
<summary>
///
获取索引节点的值
///
</summary>
///
<param
name="node">要索引的节点名</param>
///
<param
name="defaultValue">提供一个默认值,当获取节点值失败时返回</param>
///
<returns>返回获取的节点值</returns>
public
string
GetValue(string
node,
string
defaultValue)
{
if
(String.IsNullOrEmpty(node))
{
throw
new
InputInvalidException("参数node为空或者为空字符串");
}
XmlElement
xmlElement
=
(XmlElement)_rootElement.SelectSingleNode(node);
if
(xmlElement
==
null)
{
return
defaultValue;
}
else
{
if
(String.IsNullOrEmpty(xmlElement.InnerText))
{
return
defaultValue;
}
else
{
return
xmlElement.InnerText;
}
}
}