.NET怎么修改和添加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);
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中硬回车的时候会自动添上...
寿叛安宫: 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")....