.NET怎么修改和添加XML节点的内容?

作者&投稿:宠学 (若有异议请与网页底部的电邮联系)
C#如何修改XML节点名称~

xml接点名称是只读的,要想修改接点,应该直接替换,如下:
// 创建一个XML文档对象。XmlDocument xmlDocument = new XmlDocument();// 加载XML文档内容,加载完成后,xmlDocument.OuterXml 为 valuexmlDocument.LoadXml("value");// 找到根节点,此处根据名称查找,获取到的是一个列表,你可以根据ID查找,这样可以唯一确定一个值。XmlNode root = xmlDocument.GetElementsByTagName("root")[0];// 获取要被替换的接点对象 aXmlNode a = xmlDocument.GetElementsByTagName("a")[0];// 新建一个接点XmlNode c = xmlDocument.CreateElement("c");// 将要被替换的子节点的子节点添加到新节点。foreach(XmlNode node in a.ChildNodes){ c.AppendChild(node);}// 将旧节点替换为新节点root.ReplaceChild(a, c);注:此处查找接点我均使用了根据接点名称查找,建议添加id属性,根据id查找。

string path = Server.MapPath("XML文件虚拟路径");
XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlNodeList noList = doc.SelectNodes("/images/i");
foreach (XmlNode noItem in noList)
{
XmlAttribute src = noItem.Attributes["src"]; //其他属性也可以这么获取和设置,建议做个属性对象不为空的判断
src.InnerText = "设置的值"; //也可以用InnerXml
}

doc.Save(path);

引用命名空间:using System.Xml

1.检查所要操作的xml文件是否存在:
System.IO.File.Exists(文件路径及名称);

2.得到xml文件:
(1)在asp.net中可以这样得到:
XmlDocument xmlDoc = new XmlDocument();

//导入xml文档

xmlDoc.Load( Server.MapPath("xmlTesting.xml"));

//导入字符串

//xmlDoc.LoadXml("<bookStore> <book id="01" price="3.5元"> 读者</book></bookStore>");

注:Server.MapPath("xmlTesting.xml")此时的xmlTesting.xml文件必须是在当前的解决方案里;同样可以写成完整的物理路径xmlDoc.Load (@"E:"软件学习"测试"myNoteWeb"xmlTesting.xml")

(2)在windForm中 直接用物理路径得到所要操作的xml文件具体实现方法同上
3.创建xml文件:
XmlDocument xmlDoc = new XmlDocument(); //创建xml文档(实例化一个xml)

XmlNode root = xmlDoc.CreateElement("bookStore");//创建根节点

//创建第1个子结点:

XmlNode bookNode = xmlDoc.CreateElement("book");

bookNode.InnerText = "读者";

//为此节点添加属性

法1:

bookPublishNode.SetAttribute("id", "01")

root.AppendChild(bookNode);

法2:

XmlAttribute xmlattribute = tempXmlDoc.CreateAttribute("price");

xmlattribute.Value = "3.5元";

tempRoot .Attributes .Append (xmlattribute )

//创建第2个根节点的子结点:

XmlNode tempBookNode = xmlDoc.CreateElement("tempbook ");

tempBookNode.InnerText ="文摘";

root.AppendChild(tempBookNode);

xmlDoc.AppendChild(root); //将根节点添加到xml文档中

try

{

xmlDoc.save(“bookInfo.xml”);//xml将保存到当前解决方案的目录下

}

catch (Exception ex)

{

MessageBox.Show(ex.Message); //显示错误信息

}

得到的xml文档如下:

<?xml version="1.0" encoding="utf-8" ?>

<bookStore>

<book id ="01" price="3.5元">

读者

</book>

<tempbook id ="02">

文摘

</tempbook >

</bookStore>

4.读取,修改xml信息
tempTesting.xml文件的内容如下:

?<?xml version="1.0" encoding="utf-8"?>

<bookStore>

<book id="01" price="3.5元">

读者

</book>

<book id="02" price="5元">

<bookname>百家讲坛</bookname>

<bookpublish>文学出版社</bookpublish>

</book>

<tempbook id="0000">漫画tempbook>

</bookStore>

(1) 得到xml文件的xml信息
XmlDocument xmlDoc = new XmlDocument();

xmlDoc.Load( Server.MapPath("xmlTesting.xml"));

XmlNode root=xmlDoc.DocumentElement;

(2) 得到节点
//得到id为2book节点下的所有节点

XmlNodeList xmlNodes = root.SelectNodes("//book[@id='02']//*");

XmlNode tempNode = xmlNodes[0];//得到第一个节点

//将tempbook强制转化为XmlElement

XmlElement xmlelement = (XmlElement)root.SelectSingleNode("tempbook");

(3) 修改节点内容
XmlNode tempBook = root.SelectSingleNode("tempbook");//修改节点内容

tempBook. InnerText="漫画";

(4)得到节点的属性值并修改:
//得到节点的属性

//法1

XmlAttributeCollection attrbute= tempBook.Attributes;

string bookID = attrbute[0].Value;

//法2:

string bookid = tempBook.Attributes[0].Value.ToString();

//修改节点属性的值

tempBook.Attributes[0].Value = "0000";

(5)添加一个根节点

XmlNode node = xmlDoc.CreateElement("testing");

node.InnerText = "testing";

root.AppendChild(node);

(6)保存修改后的文档
xmlDoc.Save(Server.MapPath("tempTesting.xml"));

******其他:

(一)显示xml信息
1以xml文档的样式显示:xmlDoc.outerxml;

2.显示各个节点

XmlNode root = xmlDoc.DocumentElement;//得到根节点:

if (root.ChildNodes.Count > 0)

{

XmlNode xmlnode = root.FirstChild;//得到子结点:

for (int i = 0; i < root.ChildNodes.Count; i++)

{

MessageBox.Show(xmlnode.FirstChild .InnerText);

xmlnode = xmlnode.NextSibling;或mlNode subNode2 = root.LastChild;

}

}

else

MessageBox.Show("没有内容!");

(二)将数据库的信息导入为xml
XmlDocument xmlDocItem = new XmlDocument();

DataSet ds = GetDataSet(strtsql);//调用方法从数据库中得到DataSet。

xmlDocItem.LoadXml(ds .GetXml ());//导入xml中;

*****************************以下是在网络上找到的关于C#操作xml文件的总结***

一:创建并保存xml文件
string FileName =Application.StartupPath+"""phone.xml";

XmlTextWriter objXmlTextWriter = new XmlTextWriter(FileName,Encoding.Default);

objXmlTextWriter.Formatting = Formatting.Indented;

objXmlTextWriter.Indentation = 6;

objXmlTextWriter.WriteStartDocument();

objXmlTextWriter.WriteStartElement("", "PhoneBook", "");

objXmlTextWriter.WriteStartElement("", "Name", "");

objXmlTextWriter.WriteString("加菲尔德");

objXmlTextWriter.WriteEndElement();

objXmlTextWriter.WriteStartElement("", "Number", "");

objXmlTextWriter.WriteString("5555555");

objXmlTextWriter.WriteEndElement();

objXmlTextWriter.WriteStartElement("", "City", "");

objXmlTextWriter.WriteString("纽约");

objXmlTextWriter.WriteEndElement();

objXmlTextWriter.WriteStartElement("", "DateOfBirth", "");

objXmlTextWriter.WriteString("26/10/1978");

objXmlTextWriter.WriteEndElement();

objXmlTextWriter.WriteEndElement();

objXmlTextWriter.WriteEndDocument();

objXmlTextWriter.Flush();

objXmlTextWriter.Close();

这段代码在win2003ser+vs2005环境下测试通过,出来的效果很好,也比较容易理解,我一般就是用这段代码创建XML文件。

二、读取、修改XML文件的某个节点的值
string path = "phone.xml";

XmlDocument doc = new XmlDocument();

doc.Load(path);

//读所有节点表

XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);

//读取节点值

XmlNode node = doc.SelectSingleNode("/PhoneBook/Name", xnm); //node.InnerText 就是读取出来的值

//修改节点值

node.InnerText="要修改的内容";

//保存修改后的内容

doc.Save(path);

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("photos.xml");
XmlNode photoNode = xmlDoc.SelectSingleNode("photos");
XmlElement newElement = xmlDoc.CreateElement("p");
XmlAttribute attr = xmlDoc.CreateAttribute("desc");
attr.Value = "xxx.jpg";
newElement.Attributes.SetNamedItem(attr);
photoNode.AppendChild(newElement);
xmlDoc.Save("photos.xml");

学习楼上


怎样在C#.net中添加图片?还有我添加了一个模板页,但引用模板页建的页面...
1.<asp:Image Height="" Width="" ImageUrl="" CssClass="" \/> 第一个属性是:高,第二个属性是:宽,第三个属性是:图片所在的位置 你如果想设定图片的位置或其他的东西就可以使用第四个属性:这个属性是设置图片样式的。2.当你新建了引用母版页的页面以后,你可以在任意位置添加以下代码:<...

...可是在pcb板上 我没办法添加它 我想问问怎么把它添上去 并且布线...
可以在PCB环境下直接添加封装(但前提是你必须先画好他的封装),方式和在schematic环境下添加元器件的方式一样,添加好后,双击它的焊盘,打开属性对话框,在左下角properties里有个Net选项,选择你要连接的那个net即可完成相应的电气连接。

在ASP.NET中如何应用三层架构方式实现多表连接事务处理?
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。三层结构原理:3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与...

NET framework 4.0安装失败怎么办
值得注意的是,.NET Framework 4.0与之前的3.5 SP1可以并行工作,旧版应用程序仍能在新版本中运行。它在Visual Basic和C#中引入了诸如lambdas、隐线continuations等创新特性,同时也为实体框架增添了诸如持续忽略、延迟加载和LINQ新运营商等实用功能,使得开发更简化。在修改和安装完成后,你应该能够成功...

学习vb.net的问题,如何将一个引用,做为默认设置?
1.建立一个空的 控制台应用程序, 可采用默认名字.2.不要对这个项目的其他文件做修改,仅在"项目->加添引用"中添加system.windows.forms.3.全部保存项目.4.{关键}在菜单中: 文件->导出模板.选择"项目模板",(下面的combobox默认选择了当前打开的项目).点下一步.填写模板名称和说明, 建议起英文名称...

NET是什么衣服品牌
NET是台湾宝岛的休闲服饰品牌。1990年的春天,NET品牌创立。优良的商品、平实的价格、以客为尊的服务,为NET服饰坚持的理念。以中价位、高品质、基本好搭配,欧美休闲风格为品牌定位,从原创到精简的摩登,同时兼具知性与感性,为孩童到成人各个年龄层的顾客,提供多样化的穿著风格。截至到2018年1月,NET...

asp.net 三层架构实体层的作用是什么
1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。【实体层】贯穿于上面...

电脑输入net指令总是出现这个,求解{我要增添个账号,前一个密码忘了}...
net 命令是要在系统引导进行WINDOWS环境下才能用的,你用引导盘进的不是WINDOWS系统,当然不能用了。

在ASP.NET中如何应用三层架构方式实现多表连接…
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。三层结构原理:3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与...

ASP.net 网页中连续的空格当做一个空格处理,如何解决
所以想不转换字符串而直接用InnerText是不可取的。但是转换是个非常繁琐的过程,因为HTML的特殊标记非常多。值得庆幸的是ASP.NET提供了HttpServerUtil类,该类提供了HtmlEncode()和HtmlDecode()方法,这里我们只用到HtmlEncode()方法。我们就可以这样来转换:\/\/“\\r\\n”在TextBox中硬回车的时候会自动添上...

万全县17859058915: .NET怎么修改和添加XML节点的内容? -
寿叛安宫: XmlDocument xmlDoc = new XmlDocument();xmlDoc.Load("photos.xml");XmlNode photoNode = xmlDoc.SelectSingleNode("photos");XmlElement newElement = xmlD...

万全县17859058915: .NET怎么修改和添加XML节点的内容? -
寿叛安宫: 给你找个类,拿去改改,举一反三就最好了: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI....

万全县17859058915: 在ASP.Net中怎么写一个XML文件和修改一个XML文件
寿叛安宫:/// <summary> /// 读取xml文档并返回一个节点:适用于一级节点 /// </summary> /// <param name="xmlPath">xml路径</param> /// <param name="node">节点</param> /// <returns></returns> public static string ReadXmlReturnNode(string ...

万全县17859058915: 怎样用.net向xml中动态写入数据 -
寿叛安宫: 下面是一个控制台的版本,供你参考:class Program { static void Main(string[] args) { int[] values = { 1,2,3,4,5,6,7,8,9,10,11,12}; var xml = @"<chart caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Units' showValues='0' decimals='0' ...

万全县17859058915: asp.net怎么对xml读取数据和写入数据? -
寿叛安宫: 本文中我将介绍在ASP.NET应用程序中如何读取XML文件,这是一个十分有用的技巧.使用这个技巧,我们能够定制我们的应用程序的配置文件,也可以读取那些保存在XML文件中的数据.概论下面的代码将使用XmlTextReader对象将磁盘文...

万全县17859058915: net操作xml节点 -
寿叛安宫: 你好: 下面的代码就可以了: XmlDocument docXml = new XmlDocument(); docXml.Load("D:\\store.xml"); string stringXPath = "//Item//Name"; XmlNodeList xnl = docXml.SelectNodes(stringXPath); // XmlNodeList xnl = docXml.se....

万全县17859058915: .NET如何使用 XML 文件导入权限集 -
寿叛安宫: 可以使用 .NET Framework 配置工具 (Mscorcfg.msc) 或使用代码访问安全策略工具 (Caspol.exe) 将权限集导入安全策略.使用.NET Framework 配置工具添加自定义权限下面的示例显示 XML 文件中的一个权限集和一个权限. 元素可以包...

万全县17859058915: .NET管理XML -
寿叛安宫: 解析xml 在category 的节点下 用 AppendChild 来新加image删除的话 建议给image 一个属性 来方便你要删除的是哪条 删除节点 removeChild

万全县17859058915: .net 怎么把XML存到DLL文件里? -
寿叛安宫: 如果你使用VS.net编辑器的话,这个比较简单,选择【Project/工程】菜单,选择【xxx Properties/属性】,在【属性】页,点击左侧【Resource/资源】标签.右侧有一个菜单,第一个菜单选择资源类型,第二个菜单【Add Recoruce/添加资源】...

万全县17859058915: .net xml写入 -
寿叛安宫: 以前写的 你对应着研究一下吧String path = Server.MapPath("~/baocunimage/"); XmlDocument xmldoc = new XmlDocument(); xmldoc.Load(Server.MapPath("../xml/page.xml")); int nodeList = xmldoc.SelectSingleNode("BlueIdea")....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网