asp.net 解析XML文件

wanghousheng 2009-05-12 09:04:48
现在有些XML文件,想把XML文件解析一下,把节点对应的值,放到一张datatable里面(像数据库中的表一样),返回这张表(作为数据源),在页面上用gridview显示出来,xml文件如下
<?xml version="1.0" encoding="utf-8" ?>
- <response>
- <MODEL>
<modelid>5640</modelid>
<name>050601.esx</name>
<description>test</description>
<createdon>2009-05-11 14:31:24+0800</createdon>
<modifiedon>2009-05-11 14:33:28+0800</modifiedon>
<type>esx</type>
<size>207689</size>
<version>2</version>
</MODEL>

<MODEL>
<modelid>5640</modelid>
<name>050601.esx</name>
<description>test</description>
<createdon>2009-05-11 14:31:24+0800</createdon>
<modifiedon>2009-05-11 14:33:28+0800</modifiedon>
<type>esx</type>
<size>207689</size>
<version>2</version>
</MODEL>
</response>
最后显示的效果
modelid name·····version
5640 050601.esx 2
5640 050601.esx 2
...全文
461 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
我姓区不姓区 2009-05-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wanghousheng 的回复:]
引用 4 楼 ojlovecd 的回复:
C# code
string xml = @" <?xml version=""1.0"" encoding=""utf-8"" ?>
<response>
<MODEL>
<modelid>5640 </modelid>
<name>050601.esx </name>
<description>test </description>
<createdon>2009-05-11 14:31:24+0800 </createdon>
<modifiedon>2009-05-11 14:33:28+0800 </modifiedon>
<type>esx </type>
<size>207689 </size>
<version>2 </version>
</MODEL>

<MODEL>…
[/Quote]
我这里只是举个例子而已,实际你当然应该读取XML文件
XmlDocument doc = new XmlDocument();
doc.Load("xml文件路径");

看来你真的是对XML很不熟悉
wanghousheng 2009-05-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ojlovecd 的回复:]
C# code
string xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<response>
<MODEL>
<modelid>5640 </modelid>
<name>050601.esx </name>
<description>test </description>
<createdon>2009-05-11 14:31:24+0800 </createdon>
<modifiedon>2009-05-11 14:33:28+0800 </modifiedon>
<type>esx </type>
<size>207689 </size>
<version>2 </version>
</MODEL>

<MODEL>

[/Quote]

这个string xml报错么?不是string类型么
gang027 2009-05-12
  • 打赏
  • 举报
回复
学习
wanghousheng 2009-05-12
  • 打赏
  • 举报
回复
学习一下
gg_ww 2009-05-12
  • 打赏
  • 举报
回复
学习
我姓区不姓区 2009-05-12
  • 打赏
  • 举报
回复

string xml = @"<?xml version=""1.0"" encoding=""utf-8"" ?>
<response>
<MODEL>
<modelid>5640 </modelid>
<name>050601.esx </name>
<description>test </description>
<createdon>2009-05-11 14:31:24+0800 </createdon>
<modifiedon>2009-05-11 14:33:28+0800 </modifiedon>
<type>esx </type>
<size>207689 </size>
<version>2 </version>
</MODEL>

<MODEL>
<modelid>5640 </modelid>
<name>050601.esx </name>
<description>test </description>
<createdon>2009-05-11 14:31:24+0800 </createdon>
<modifiedon>2009-05-11 14:33:28+0800 </modifiedon>
<type>esx </type>
<size>207689 </size>
<version>2 </version>
</MODEL>
</response> ";
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("modelid"), new DataColumn("name"), new DataColumn("description"), new DataColumn("createdon"), new DataColumn("modifiedon"), new DataColumn("type"), new DataColumn("size"), new DataColumn("version") });
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
foreach (XmlNode node in doc.GetElementsByTagName("MODEL"))
{
DataRow dr = dt.NewRow();
for (int i = 0; i < node.ChildNodes.Count; i++)
{
dr[i] = node.ChildNodes[i].InnerText;
}
dt.Rows.Add(dr);
}
wanghousheng 2009-05-12
  • 打赏
  • 举报
回复
不明白呢,哈哈
llsen 2009-05-12
  • 打赏
  • 举报
回复
llsen 2009-05-12
  • 打赏
  • 举报
回复
using System.Xml;

public KSBMCONFIG ReadConfig(string XmlConfigFile)
{
KSBMCONFIG _conf = new KSBMCONFIG ();
try
{
// Open an XML file
System.Xml.XmlTextReader reader;
reader = new System.Xml.XmlTextReader(XmlConfigFile);
while ( reader.Read() )
{
if((reader.NodeType == XmlNodeType.EndElement)
&&(reader.Name == "KSBM"))
{
break;
}
if(reader.IsStartElement ("ServerPath"))
{
reader.Read ();
_conf.ServerPath = reader.Value ;
}
else if(reader.IsStartElement ("SmtpServer"))
{
reader.Read ();
_conf.SMTPServer = reader.Value ;
}
else if(reader.IsStartElement ("ConnectString"))
{
reader.Read ();
_conf.ConnectString = reader.Value ;
}
}
return _conf;
}
catch
{
_conf.ConnectString = "";
_conf.ServerPath = "";
_conf.SMTPServer = "";
return _conf;
}
finally
{
}
}

62,056

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧