添加XML配置文件 使用配置文件记录上一次关闭软件时选中的文件夹。启动软件时,展开这个文件夹节点。不允许使用App.config ,只能用一般的Xml 配置文件。这个用C#怎么实现,求代码? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为毛不用App.config呢 操作一般的xml :http://www.cnblogs.com/yunhuasheng/archive/2008/03/19/1113091.html 那要看你如何定义你的XML结构了 如果仅仅操作XML文件的话,你搜索XElement,很方便的 根据好,如果仅仅操作XML文件的话,你搜索XElement你具体看MSDN:http://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument.aspx 用XmlDocument:1. XML 文档操作1.1. 加载一个XML文档XmlDocument xmlDoc=new XmlDocument();xmlDoc. Load("Sample.xml");1.2. 加载一个XML数据char*strXml="<Employees><Employeeid=”12345”><Employee_ID>12345</Employee_ID><Name>ZhangBin</Name></Employee></Employees>"xmlDoc. LoadXML("Sample.xml");1.3. 保存XML文档xmlDoc.Save("Sample.xml"); 2. XML 数据的查询最常见的XML数据类型有:Element、Attribute、Comment、Text。 Element, 元素节点,指形如<Name>Tom<Name>的节点。它可以包括:Element、Text、Comment, ProcessingInstruction、CDATA、 and EntityReference。 Attribute, 属性节点,指在<Employee id=”12345”>中的粗体部分。Comment,指形如:<!--my comment -. 的节点。Text,指在<Name>Tom<Name>的粗体部分。在XML中,可以用XmlNode对象来参照各种XML数据类型。2.1. 查询已知绝对路径的节点(集)XmlNodeList nodeList= xmlDoc.SelectNodes(“Company/Department/Employees/Employee”); 或者XmlNodeList nodeList = xmlDoc .SelectNodes(“/Company/Department/Employees/Employee”); 以上两种方法可返回一个NodeList对象,如果要返回单个节点可使用SelectSingleNode方法,该方法如果查询到一个或多个节点,返回第一个节点;例如: XmlNode xmlNode = xmlDoc .SelectSingleNode(“/Company/Department/Employees/Employee”);2.2. 查询已知相对路径的节点(集)可使用类似于文件路径的相对路径的方式来查询XML的数据XmlNode xmlNode = xmlDoc .SelectSingleNode(“Company/Department”) ;XmlNode xmlNode1 = xmlNode.SelectNode(“Employees/Employee”);2.3. 查询已知元素名的节点(集)在使用不规则的层次文档时,由于不知道中间层次的元素名,可使用//符号来越过中间的节点,查询其子,孙或多层次下的其他所有元素。例如:XmlNodeList nodeList = xmlDoc.SelectNodes(“Company//Employee”);2.4. 查询属性(attribute)节点 以上的各种方法都返回元素(element)节点(集),返回属性(attribute),只需要采用相应的方法,在属性名前加一个@符号即可,例如:nodeList = xmlDoc.SelectNodes(“Company/Department/Employees/Employee/@id”);nodeList = xmlDoc.SelectNodes(“Company//@id”);2.5. 查询文本(Text)节点使用text()来获取Text节点。xmlNode = xmlDoc.SelectSingleNode(“Company/Department/Deparmt_Name/text()”);2.6. 查询特定条件的节点使用[]符号来查询特定条件的节点。例如: a. 返回id号为 10102的Employee节点 XmlNode xmlNode= xmlDoc.SelectSingleNode(“Company/Department/Employees/Employee[@id=’10102’]”) ; b. 返回Name为Zhang Qi的Name 节点 XmlNode xmlNode = xmlDoc.SelectSingleNode(“Company/Department/Employees/Employee/Name[text()=’ZhangQi’]”) ; c. 返回部门含有职员22345的部门名称节点 XmlNode xmlNode = xmlDoc.SelectSingleNode("Company/Department[Employees/Employee/@id='22345']/Department_Name");2.7. 查询多重模式的节点使用 | 符号可以获得多重模式的节点。例如:XmlNodeList nodeList =xmlDoc.SelectNodes(“Company/Department/Department_Name| Company/Department/Manager”);2.8. 查询任意子节点使用*符号可以返回当前节点的所有子节点。XmlNodeList nodeList = xmlDoc.SelectNodes(“Company/*/Manager); 或者XmlNodeList nodeList= xmlDoc.ChildNodes;1. XML数据的编辑1.1. 增加一个元素的属性(attribute)节点XmlNodeattrNode;attrNode = xmlDoc.CreateAttribute("id",Nothing) ;attrNode.InnerXml = "101" ;xmlNode.Attributes.Append(attrNode);1.2. 删除一个元素的属性xmlNode.Attributes.Remove(attrNode);1.3. 增加一个子元素(Element)XmlNodechildNode;childNode = xmlDoc.CreateElement(Nothing,"ID", Nothing) ;childNode.InnerXml = "101" ;xmlNode.AppendChild(childNode);1.4. 删除一个子元素(Element)xmlNode.RemoveChild(childNode);1.5. 替换一个子元素(Element)xmlNode.ReplaceChild(newChild,oldChild);2. 参考数据<?xmlversion="1.0" encoding="UTF-8"?> <Company> <Departmentid="101"> <Department_Name>CaiWuBu</Department_Name> <Manager>ZhangBin</Manager> <Employees> <Employeeid="12345"> <Employee_ID>12345</Employee_ID> <Name>ZhangBin</Name> <Gender>male</Gender> </Employee> <Employeeid="10101"> <Employee_ID>10101</Employee_ID> <Name>ZhangQI</Name> <Gender>female</Gender> </Employee> <Employeeid="10102"> <Employee_ID>10102</Employee_ID> <Name>Zhang Xia</Name> <Gender>male</Gender> </Employee> <Employeeid="10201"> <Employee_ID>10201</Employee_ID> <Name>ZhangChuang</Name> <Gender>male</Gender> </Employee> <Employeeid="10202"> <Employee_ID>10202</Employee_ID> <Name>ZhangJun</Name> <Gender>male</Gender> </Employee> </Employees> </Department> <Departmentid="102"> <Department_Name>KaiFaBu</Department_Name> <Manager>WangBin</Manager> <Employees> <Employeeid="22345"> <Employee_ID>22345</Employee_ID> <Name>WangBin</Name> <Gender>male</Gender> </Employee> <Employeeid="20101"> <Employee_ID>20101</Employee_ID> <Name>WangQI</Name> <Gender>female</Gender> </Employee> <Employeeid="20102"> <Employee_ID>20102</Employee_ID> <Name>WangXia</Name> <Gender>male</Gender> </Employee> <Employeeid="20201"> <Employee_ID>20201</Employee_ID> <Name>WangChuang</Name> <Gender>male</Gender> </Employee> <Employeeid="20202"> <Employee_ID>20201</Employee_ID> <Name>WangJun</Name> <Gender>male</Gender> </Employee> </Employees> </Department> </Company> 关键字过虑?? 怎么判断一个集合是升序,还是降序! C#放到菜单条上使用的小图标(如删除图标,就是打个叉"X"的那个)文件都在哪个目录下 c#windows应用程序怎样做才能在任何电脑上使用 服务器上不能使用office,com组件配置不成功,望牛人指点 C#后台怎么调用前台的JQ AE实现擦除Erase报错 哪里有 有关 FTP协议的中文资料。 如何释放调用的com组件里面的类的实例? 自己做的控件怎样才能和datagrid的datasource属性一样,自动显示相关的控件名称? c#,asp.net画曲线图,鼠标移上有数据显示 ASP.NET AJAX 异步请求数据的问题
你具体看MSDN:
http://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument.aspx
2. XML 数据的查询最常见的XML数据类型有:Element、Attribute、Comment、Text。 Element, 元素节点,指形如<Name>Tom<Name>的节点。它可以包括:Element、Text、Comment, ProcessingInstruction、CDATA、 and EntityReference。 Attribute, 属性节点,指在<Employee id=”12345”>中的粗体部分。Comment,指形如:<!--my comment -. 的节点。Text,指在<Name>Tom<Name>的粗体部分。在XML中,可以用XmlNode对象来参照各种XML数据类型。2.1. 查询已知绝对路径的节点(集)XmlNodeList nodeList= xmlDoc.SelectNodes(“Company/Department/Employees/Employee”); 或者XmlNodeList nodeList = xmlDoc .SelectNodes(“/Company/Department/Employees/Employee”); 以上两种方法可返回一个NodeList对象,如果要返回单个节点可使用SelectSingleNode方法,该方法如果查询到一个或多个节点,返回第一个节点;例如: XmlNode xmlNode = xmlDoc .SelectSingleNode(“/Company/Department/Employees/Employee”);2.2. 查询已知相对路径的节点(集)可使用类似于文件路径的相对路径的方式来查询XML的数据
XmlNode xmlNode = xmlDoc .SelectSingleNode(“Company/Department”) ;XmlNode xmlNode1 = xmlNode.SelectNode(“Employees/Employee”);2.3. 查询已知元素名的节点(集)在使用不规则的层次文档时,由于不知道中间层次的元素名,可使用//符号来越过中间的节点,查询其子,孙或多层次下的其他所有元素。例如:
XmlNodeList nodeList = xmlDoc.SelectNodes(“Company//Employee”);2.4. 查询属性(attribute)节点 以上的各种方法都返回元素(element)节点(集),返回属性(attribute),只需要采用相应的方法,在属性名前加一个@符号即可,例如:
nodeList = xmlDoc.SelectNodes(“Company/Department/Employees/Employee/@id”);nodeList = xmlDoc.SelectNodes(“Company//@id”);2.5. 查询文本(Text)节点使用text()来获取Text节点。xmlNode = xmlDoc.SelectSingleNode(“Company/Department/Deparmt_Name/text()”);2.6. 查询特定条件的节点使用[]符号来查询特定条件的节点。例如: a. 返回id号为 10102的Employee节点 XmlNode xmlNode= xmlDoc.SelectSingleNode(“Company/Department/Employees/Employee[@id=’10102’]”) ; b. 返回Name为Zhang Qi的Name 节点 XmlNode xmlNode = xmlDoc.SelectSingleNode(“Company/Department/Employees/Employee/Name[text()=’ZhangQi’]”) ; c. 返回部门含有职员22345的部门名称节点 XmlNode xmlNode = xmlDoc.SelectSingleNode("Company/Department[Employees/Employee/@id='22345']/Department_Name");2.7. 查询多重模式的节点使用 | 符号可以获得多重模式的节点。例如:XmlNodeList nodeList =xmlDoc.SelectNodes(“Company/Department/Department_Name| Company/Department/Manager”);2.8. 查询任意子节点使用*符号可以返回当前节点的所有子节点。XmlNodeList nodeList = xmlDoc.SelectNodes(“Company/*/Manager); 或者XmlNodeList nodeList= xmlDoc.ChildNodes;1. XML数据的编辑1.1. 增加一个元素的属性(attribute)节点XmlNodeattrNode;attrNode = xmlDoc.CreateAttribute("id",Nothing) ;attrNode.InnerXml = "101" ;xmlNode.Attributes.Append(attrNode);1.2. 删除一个元素的属性xmlNode.Attributes.Remove(attrNode);1.3. 增加一个子元素(Element)XmlNodechildNode;childNode = xmlDoc.CreateElement(Nothing,"ID", Nothing) ;childNode.InnerXml = "101" ;xmlNode.AppendChild(childNode);1.4. 删除一个子元素(Element)xmlNode.RemoveChild(childNode);1.5. 替换一个子元素(Element)xmlNode.ReplaceChild(newChild,oldChild);
2. 参考数据
<?xmlversion="1.0" encoding="UTF-8"?>
<Company>
<Departmentid="101">
<Department_Name>CaiWuBu</Department_Name>
<Manager>ZhangBin</Manager>
<Employees>
<Employeeid="12345">
<Employee_ID>12345</Employee_ID>
<Name>ZhangBin</Name>
<Gender>male</Gender>
</Employee>
<Employeeid="10101">
<Employee_ID>10101</Employee_ID>
<Name>ZhangQI</Name>
<Gender>female</Gender>
</Employee>
<Employeeid="10102">
<Employee_ID>10102</Employee_ID>
<Name>Zhang Xia</Name>
<Gender>male</Gender>
</Employee>
<Employeeid="10201">
<Employee_ID>10201</Employee_ID>
<Name>ZhangChuang</Name>
<Gender>male</Gender>
</Employee>
<Employeeid="10202">
<Employee_ID>10202</Employee_ID>
<Name>ZhangJun</Name>
<Gender>male</Gender>
</Employee>
</Employees>
</Department>
<Departmentid="102">
<Department_Name>KaiFaBu</Department_Name>
<Manager>WangBin</Manager>
<Employees>
<Employeeid="22345">
<Employee_ID>22345</Employee_ID>
<Name>WangBin</Name>
<Gender>male</Gender>
</Employee>
<Employeeid="20101">
<Employee_ID>20101</Employee_ID>
<Name>WangQI</Name>
<Gender>female</Gender>
</Employee>
<Employeeid="20102">
<Employee_ID>20102</Employee_ID>
<Name>WangXia</Name>
<Gender>male</Gender>
</Employee>
<Employeeid="20201">
<Employee_ID>20201</Employee_ID>
<Name>WangChuang</Name>
<Gender>male</Gender>
</Employee>
<Employeeid="20202">
<Employee_ID>20201</Employee_ID>
<Name>WangJun</Name>
<Gender>male</Gender>
</Employee>
</Employees>
</Department>
</Company>