急 ASP.net 里怎么用IO流创建(读取)XML 文档,

f346444180 2011-01-13 09:17:49
各位大侠们,这次真救急啊,,
如题 ,怎么 做啊, 做好有源码 ,,,,谢谢 ,感激不尽。。。。。
...全文
160 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
IHandler 2011-01-13
  • 打赏
  • 举报
回复
WriteXml方法忘了写Close了
IHandler 2011-01-13
  • 打赏
  • 举报
回复

using System;
using System.IO;
using System.Text;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

private string ReadXML()
{
FileStream fs = new FileStream("a.xml",FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(fs, Encoding.UTF8);
string xmlData = reader.ReadToEnd();
reader.Close();
fs.Close();
return xmlData;
//可以再用DataSet的ReadXml方法去读取数据到DataTable
}
private void WriteXml(string str)
{
FileStream fs = new FileStream("a.xml", FileMode.Create, FileAccess.Write);
StreamWriter writer = new StreamWriter(fs, Encoding.UTF8);
writer.Write(str);
//用DataSet也可以写,方法WriteXML
}
}
f346444180 2011-01-13
  • 打赏
  • 举报
回复
怎么没人帮忙啊,加分给了啊。。。。。。。。。。。。。
wuyq11 2011-01-13
  • 打赏
  • 举报
回复
FileStream XMLStream = new FileStream(cfileName,FileMode.CreateNew);
XmlTextWriter XmlWrite = new XmlTextWriter(XMLStream,Encoding.Unicode);
XmlWrite.Formatting = Formatting.Indented;
try
{
XMLBuilWriter(XmlWrite,XMLLogList);
XmlWrite.Close();
}
catch(Exception ex)
{
cRemark = ex.Message.ToString();
}

登录注册实例很多,邀请发送邮件,通过连接到注册页面获取参数
f346444180 2011-01-13
  • 打赏
  • 举报
回复
各位大侠,最新改进如下
需求是这样子的
例如:我想这样子做;
积分实现自动化
(登录+;注册+;邀请注册+;发表帖子+;)
注:邀请注册实现:只要输入用户名即可。
这个怎么写呢??
chen_ya_ping 2011-01-13
  • 打赏
  • 举报
回复
xmldocment
有关XML的操作,网上很多的啊。
ycproc 2011-01-13
  • 打赏
  • 举报
回复
 XmlDocument document = new XmlDocument();
document.Load(Server.MapPath("~/site/site.xml"));
XmlNodeList nodelist = document.SelectNodes("web");
XmlNode node = nodelist.Item(0);
this.name.Value = node["title"].InnerText;
this.logoimg.Src = node["logourl"].InnerText;
this.description.Value = node["description"].InnerText;
this.keywrods.Value = node["keywrods"].InnerText;
this.flow.Value = node["flow"].InnerText;
this.mapapi.Value = node["mapapi"].InnerText;
andrewsway 2011-01-13
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{
string xmlFile = Server.MapPath("xmlfilename.xml");
XmlTextReader reader = new XmlTextReader(xmlFile);
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.Name == "节点名称")
{
Response.Write(reader.ReadString());
}
if (reader.Name == "节点名称")
{
Response.Write(reader.ReadString());
Response.Write("<br />");
}
}
}
reader.Close();
}
fangyuantdy 2011-01-13
  • 打赏
  • 举报
回复
http://www.baidu.com/s?wd=ASP.NET+xml%B6%C1%C8%A1+%B4%B4%BD%A8
fangyuantdy 2011-01-13
  • 打赏
  • 举报
回复
不是有相应的类的嘛
XML相关的,网上随便一搜,到处都是啊
  • 打赏
  • 举报
回复
这是我自己总结写的操作xml类,希望可以帮到楼主
  • 打赏
  • 举报
回复

public class CreateXml
{
#region 操作xml
/// <summary>
/// 传入数据字典,key作为属性,value作为属性值,生成只有一个节点的xml文件
/// </summary>
/// <param name="souresList">属性键值列表</param>
/// <param name="val">节点值</param>
/// <param name="xmlPath">保存文件名</param>
/// <returns></returns>
public static void CreateXmlFile(Dictionary<string, string> souresList,string val, string xmlPath)
{
if (souresList.Count > 0)
{
string path = System.Web.HttpContext.Current.Server.MapPath(xmlPath);
if (File.Exists(path))//如果存在该xml文件,则删除
{
File.Delete(path);
}
XmlTextWriter textWriter = new XmlTextWriter(path, System.Text.Encoding.UTF8);//new一个xml文件
textWriter.Formatting = Formatting.Indented;//自动缩进
textWriter.WriteStartDocument();// 开始写过程,调用WriteStartDocument方法
textWriter.WriteComment("数据库映射xml文件");// 写入注释
textWriter.WriteComment("时间:"+DateTime.Now.ToString());
textWriter.WriteStartElement("DBRecord");//创建根节点
textWriter.WriteStartElement("Record");
//跟record添加属性
foreach (string key in souresList.Keys)
{
textWriter.WriteAttributeString(key, souresList[key]);
}
//写入节点值
textWriter.WriteValue(val);

textWriter.WriteEndElement();//根节点下的第一子元素结束
textWriter.WriteEndElement();//根节点结束
textWriter.WriteEndDocument();//写文档结束,调用WriteEndDocument方法
textWriter.Close(); //关闭textWriter


#region 暂时不用
//else
//{
// XmlDocument xmlDoc = new XmlDocument();
// xmlDoc.Load(path);
// XmlNode root = xmlDoc.SelectSingleNode("DBRecord");//查找ChatContent节点
// XmlElement xe1 = xmlDoc.CreateElement("Record");//创建一个Record节点
// //填写属性
// //跟record添加属性
// foreach (string key in souresList.Keys)
// {
// xe1.SetAttribute(key, souresList[key]);
// }
// //添加时间属性
// xe1.SetAttribute("CreateTime", DateTime.Now.ToString());
// //写入节点值
// xe1.InnerText=val;

// root.AppendChild(xe1);//将Record添加到根节点
// xmlDoc.Save(path);
//}
#endregion
}
}

/// <summary>
/// 传入IList XmlNodeModel 集合,生成一个列表的xml文件
/// </summary>
/// <param name="xmlNodeList"></param>
/// <param name="xmlPath"></param>
public static void CreateXmlFile(IList<XmlNodeModel> xmlNodeList, string xmlPath)
{
if (xmlNodeList.Count > 0)
{
string path = System.Web.HttpContext.Current.Server.MapPath(xmlPath);
if (!File.Exists(path))//如果存在该xml文件,则删除
{
File.Delete(path);
}
XmlTextWriter textWriter = new XmlTextWriter(path, System.Text.Encoding.UTF8);//new一个xml文件
textWriter.Formatting = Formatting.Indented;//自动缩进
textWriter.WriteStartDocument();// 开始写过程,调用WriteStartDocument方法
textWriter.WriteComment("数据库映射xml文件");// 写入注释
textWriter.WriteComment("时间:" + DateTime.Now.ToString());
textWriter.WriteStartElement("DBRecord");//创建根节点

foreach (XmlNodeModel xmlNodeModel in xmlNodeList)
{
textWriter.WriteStartElement("Record");
//跟record添加属性
foreach (string key in xmlNodeModel.xmlNodeAttrbute.Keys)
{
textWriter.WriteAttributeString(key, xmlNodeModel.xmlNodeAttrbute[key]);
}
//写入节点值
textWriter.WriteValue(xmlNodeModel.xmlNodeVal);
textWriter.WriteEndElement();//根节点下的第一子元素结束
}

textWriter.WriteEndElement();//根节点结束
textWriter.WriteEndDocument();//写文档结束,调用WriteEndDocument方法
textWriter.Close(); //关闭textWriter
}
}


/// <summary>
/// 生成多个节点的xml
/// </summary>
/// <param name="souresList"></param>
/// <param name="xmlPath"></param>
public static void CreateXmlFile(Dictionary<string, string> souresList, string xmlPath)
{
if (souresList.Count > 0)
{
string path = System.Web.HttpContext.Current.Server.MapPath(xmlPath);
if (File.Exists(path))//如果存在该xml文件,则删除
{
File.Delete(path);
}
XmlTextWriter textWriter = new XmlTextWriter(path, System.Text.Encoding.UTF8);//new一个xml文件
textWriter.Formatting = Formatting.Indented;//自动缩进
textWriter.WriteStartDocument();// 开始写过程,调用WriteStartDocument方法
textWriter.WriteComment("数据库映射xml文件");// 写入注释
textWriter.WriteComment("时间:" + DateTime.Now.ToString());
textWriter.WriteStartElement("DBRecord");//创建根节点
textWriter.WriteStartElement("Record");
//跟record添加属性
foreach (string key in souresList.Keys)
{
textWriter.WriteStartElement(key);//第二节点开始并命名
//写入节点值
textWriter.WriteValue(souresList[key]);
textWriter.WriteEndElement();//第二节点结束并命名
}


textWriter.WriteEndElement();//根节点下的第一子元素结束
textWriter.WriteEndElement();//根节点结束
textWriter.WriteEndDocument();//写文档结束,调用WriteEndDocument方法
textWriter.Close(); //关闭textWriter
}
}
#endregion
}
f346444180 2011-01-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 f346444180 的回复:]
各位大侠,最新改进如下
需求是这样子的
例如:我想这样子做;
积分实现自动化
(登录+;注册+;邀请注册+;发表帖子+;)
注:邀请注册实现:只要输入用户名即可。
这个怎么写呢??
[/Quote]
0.0.0.0.0.

62,263

社区成员

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

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

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

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