///XML文件内容:
<root>
<METADATA>
<AUTHOR>111111</AUTHOR>
<GENERATOR>1111111</GENERATOR>
<PAGETYPE>111111</PAGETYPE>
<ABSTRACT>Specifies a data island</ABSTRACT>
</METADATA>
<METADATA>
<AUTHOR>John Smith2</AUTHOR>
<GENERATOR>Visual Notepad2</GENERATOR>
<PAGETYPE>Reference2</PAGETYPE>
<ABSTRACT>Specifies a data island2</ABSTRACT>
</METADATA>
<METADATA>
<AUTHOR>John Smith3</AUTHOR>
<GENERATOR>Visual Notepad3</GENERATOR>
<PAGETYPE>Reference3</PAGETYPE>
<ABSTRACT>Specifies a data island3</ABSTRACT>
</METADATA>
</root>
///从XML文件读XML数据到页面:
DataSet strxml = new DataSet();
string path = “xmlDatal.xml”;
strxml.ReadXml(Server.MapPath(path));
this.TextBox1.Text = strxml.Tables[0].Rows[0][“AUTHOR”].ToString();
this.TextBox2.Text = strxml.Tables[0].Rows[0][“GENERATOR”].ToString();
this.TextBox3.Text = strxml.Tables[0].Rows[0][“PAGETYPE”].ToString();
this.TextBox4.Text = strxml.Tables[0].Rows[0][“ABSTRACT”].ToString();
///修改XML文件中节点内容:
XmlDocument xmlDoc = new XmlDocument();
string path = “xmlDatal.xml”;
xmlDoc.Load(Server.MapPath(path));
XmlNode str1 = xmlDoc.selectSingleNode(“/root/METADATA/AUTHOR”);
str1.InnerText = this.TextBox1.Text.Trim();
XmlNode str2 = xmlDoc.selectSingleNode(“/root/METADATA/GENERATOR”);
str2.InnerText = this.TextBox2.Text.Trim();
XmlNode str3 = xmlDoc.selectSingleNode(“/root/METADATA/PAGETYPE”);
str3.InnerText = this.TextBox3.Text.Trim();
XmlNode str4 = xmlDoc.selectSingleNode(“/root/METADATA/ABSTRACT”);
str4.InnerText = this.TextBox4.Text.Trim();
xmlDoc.Save(Server.MapPath(path));
///在XML文件中添加一条XML数据:
///方法一:使用DS操作XML文件
String fileName = “xmlDatal.xml”;
DataSet myDs = new DataSet();
try
{
FileStream fileIn;
fileIn = new FileStream(Server.MapPath(fileName), FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
myDs.ReadXml(fileIn);
fileIn.Close();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
//给当前DS中增加新行
DataRow newRow = myDs.Tables[0].NewRow();
newRow[“AUTHOR”] = this.TextBox1.Text.Trim().ToString();
newRow[“GENERATOR”] = this.TextBox2.Text.Trim().ToString();
newRow[“PAGETYPE”] = this.TextBox3.Text.Trim().ToString();
newRow[“ABSTRACT”] = this.TextBox4.Text.Trim().ToString();
myDs.Tables[0].Rows.Add(newRow);
//将myDs的改变写入XML
try
{
FileStream fileOut;
fileOut = new FileStream(Server.MapPath(fileName), FileMode.Open, FileAccess.Write, FileShare.ReadWrite);
myDs.WriteXml(fileOut, XmlWriteMode.WriteSchema);
fileOut.Close();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
///方法二:使用XmlDocument写入一笔XML记录
String fileName = “xmlDatal.xml”;
try
{
//先建立一个XML DOM
XmlDocument doc = new XmlDocument();
//读入XML文件
doc.Load(Server.MapPath(fileName));
//建立一个节点。
XmlElement METADATA = doc.createElement(“METADATA”);
//建立一个属性,并将次属性放置在接点 “newUser” 下
XmlAttribute newID = doc.createAttribute(“id”);
newID.InnerText = “3”;
METADATA.SetAttributeNode(newID);
//建立一个节点,并将此做为“METADATA”的子节点
XmlElement AUTHOR = doc.createElement(“AUTHOR”);
AUTHOR.InnerText = this.TextBox1.Text.Trim().ToString();
METADATA.AppendChild(AUTHOR);
//建立一个节点,并将此做为“METADATA”的子节点
XmlElement GENERATOR = doc.createElement(“GENERATOR”);
GENERATOR.InnerText = this.TextBox2.Text.Trim().ToString();
METADATA.AppendChild(GENERATOR);
//建立一个节点,并将此做为“METADATA”的子节点
XmlElement PAGETYPE = doc.createElement(“PAGETYPE”);
PAGETYPE.InnerText = this.TextBox3.Text.Trim().ToString();
METADATA.AppendChild(PAGETYPE);
//建立一个节点,并将此做为“METADATA”的子节点
XmlElement ABSTRACT = doc.createElement(“ABSTRACT”);
ABSTRACT.InnerText = this.TextBox4.Text.Trim().ToString();
METADATA.AppendChild(ABSTRACT);
//将节点“newUser”放在根节点下,并保存
doc.DocumentElement.AppendChild(METADATA);
doc.Save(Server.MapPath(fileName)); //我的文件是放在同目录文件夹下的
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
}
所有代码都通过调试~~
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
Oracle Hyperion 11.1.2.1 迁移特性与问题
Oracle Hyperion 11.1.2.1包含可以简化移植的新工具,它们在很多情况下能够减少操作步骤。但还是有诸如Essbase Studio的一些问题必须在以后的版本中进行修复。
-
SQL Server 数据访问策略:CLR
CLR在很大程度上解放了TSQL逻辑运算能力不足的问题,而且CLR拥有丰富的语言支持,C#,VB.NET等;在.Net Framework基础上,拥有复杂的过程逻辑和计算。
-
在Oracle数据库中使用XML数据获取业务信息
只需要通过从一个XML表中提取数据,我们就能发送XML格式化的采购订单给下游使用,这与需要更多转换步骤的多个关系型表才能实现形成明显对比。
-
详解如何将关系型数据发布为XML
抽取是通过使用XMLType视图实现的,本质上是物化为SQL执行的一个存储查询结果。XMLType视图允许文档为中心的应用程序把底层的关系结构查询为虚拟的XML文档。