XML文件基本操作
利用VB操作XML数据

利用VB操作XML数据在VB中,有几种方法可以操作XML数据。
下面将介绍一些常用的方法:1. 创建XML文档:可以使用XMLTextWriter类或XDocument类来创建XML文档。
使用XMLTextWriter类:```vbDim writer As New XmlTextWriter("C:\path\to\file.xml", System.Text.Encoding.UTF8)writer.WriteStartDocument(True)writer.Formatting = Formatting.Indentedwriter.Indentation = 2writer.WriteStartElement("RootElement")writer.WriteEndElementwriter.WriteEndDocumentwriter.Close```使用XDocument类:```vbDim doc As XDocument = New XDocumentNew XDeclaration("1.0", "utf-8", "yes"),New XElement("RootElement")doc.Save("C:\path\to\file.xml")```2. 读取XML文档:可以使用XmlDocument类、XmlReader类或XDocument类来读取XML文档。
使用XmlDocument类:```vbDim doc As New XmlDocumentdoc.Load("C:\path\to\file.xml")Dim root As XmlNode = doc.SelectSingleNode("RootElement")```使用XmlReader类:```vbDim reader As XmlReader =XmlReader.Create("C:\path\to\file.xml")While reader.ReadIf reader.NodeType = XmlNodeType.Element AndAlso = "RootElement" Then'处理根元素End IfEnd Whilereader.Close```使用XDocument类:```vbDim doc As XDocument = XDocument.Load("C:\path\to\file.xml") Dim root As XElement = doc.Element("RootElement")```使用XmlDocument类:```vbDim doc As New XmlDocumentdoc.Load("C:\path\to\file.xml")Dim root As XmlNode = doc.SelectSingleNode("RootElement")Dim childElement As XmlElement =doc.CreateElement("ChildElement")Dim attribute As XmlAttribute =doc.CreateAttribute("AttributeName")attribute.Value = "AttributeValue"childElement.Attributes.Append(attribute)root.AppendChild(childElement)doc.Save("C:\path\to\file.xml")```使用XmlReader类:```vbDim reader As XmlReader =XmlReader.Create("C:\path\to\file.xml")While reader.ReadIf reader.NodeType = XmlNodeType.Element AndAlso = "RootElement" ThenDim childElement As XmlWriter =reader.CreateElement("ChildElement")writer.WriteAttributeString("AttributeName", "AttributeValue")writer.WriteEndElementEnd IfEnd Whilereader.Close```使用XDocument类:```vbDim doc As XDocument = XDocument.Load("C:\path\to\file.xml") doc.Root.Add(New XElement("ChildElement", NewXAttribute("AttributeName", "AttributeValue")))doc.Save("C:\path\to\file.xml")```以上是操作XML数据的一些基本方法,可以根据需求进行扩展。
Android利用Document实现xml读取和写入操作

Android利⽤Document实现xml读取和写⼊操作本⽂实例为⼤家分享了利⽤Document实现xml读取和写⼊操作,供⼤家参考,具体内容如下⾸先先来介绍⼀下什么xml?xml是可扩展标记语⾔,他可以⽤来标记数据,定义数据类型。
是⼀种允许⽤户对⾃⼰标记语⾔进⾏定义的源语⾔。
解析XML⽂件的⽅法有很多⽅法:dom解析,就是document以及PULL和SAX⽅法。
今天给⼤家分享⼀下如何⽤Document来操作XML。
效果图:⾸先先对布局⽂件进⾏操作:activity_main.xml:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.oak.d3_xml.MainActivity"><TextViewandroid:id="@+id/tv"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="⽣成"android:id="@+id/bt_create"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="读取"android:id="@+id/bt_read"/></LinearLayout>主代码:MainActivity.java: 值得注意的是Document类中的包要导W3C的包package com.oak.d3_xml;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerConfigurationException;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;public class MainActivity extends AppCompatActivity {private TextView textView;//⽤于展⽰读取xml的内容private Button bt_create;//⽤于创建xml⽂件private Button bt_read;//⽤于读取xml⽂件private File file;//xml⽂件路径@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(yout.activity_main);file = new File(getFilesDir(),"languages.xml");//获取到xml⽂件textView = (TextView) findViewById();//拿到textView控件bt_create = (Button) findViewById(R.id.bt_create);//拿到创建按钮bt_read = (Button) findViewById(R.id.bt_read);//拿到读取按钮bt_create.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//这⾥利⽤的是dom对xml进⾏操作的//实例化⼀个DocmentBuilderFactory,调⽤其静态⽅法获取DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();try {//实例化⼀个DocumentBuilderDocumentBuilder builder = builderFactory.newDocumentBuilder();//实例化⼀个xml⽂件Document newxml = builder.newDocument();//创建⼀个根标签Element languages = newxml.createElement("languages");//为其设置属性languages.setAttribute("cat","it");//for循坏3次,分别创建出三个标签,每个标签都包含内容for (int i=0;i<3;i++){//创建languages的⼦标签lanElement lan = newxml.createElement("lan");//设置属性lan.setAttribute("id",i+"");//创建lan的⼦标签Element name = newxml.createElement("name");//设置内容name.setTextContent("Java"+i);//创建lan的⼦标签Element ide = newxml.createElement("ide");//设置内容ide.setTextContent("Eclipse"+i);//将name和ide分别加⼊lan这个标签中lan.appendChild(name);lan.appendChild(ide);//将lan将⼊languages标签中languages.appendChild(lan);}//将languages加⼊到xml⽂件中newxml.appendChild(languages);//实例化Transformer⼯⼚TransformerFactory transformerFactory = TransformerFactory.newInstance();//获取到TransformerTransformer transformer = transformerFactory.newTransformer();//设置输出格式transformer.setOutputProperty("encoding","UTF-8");//设置输出流OutputStream os = new FileOutputStream(file);//将⽂件写出transformer.transform(new DOMSource(newxml),new StreamResult(os));Toast.makeText(getApplicationContext(),"⽣成成功",Toast.LENGTH_SHORT).show(); } catch (ParserConfigurationException e) {e.printStackTrace();} catch (TransformerConfigurationException e) {e.printStackTrace();} catch (FileNotFoundException e) {e.printStackTrace();} catch (TransformerException e) {e.printStackTrace();}}});bt_read.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {//获取到DocumentBuilder的⼯⼚实例化DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();try {//拿到DocumentBuilderDocumentBuilder builder = builderFactory.newDocumentBuilder();//解析xml⽂件Document xml = builder.parse(file);//获取其根标签Element languages = xml.getDocumentElement();//根据⼦标签进⾏查找,返回的是⼀个list集合NodeList list = languages.getElementsByTagName("lan");textView.setText("");//将textView中的内容置空for (int i=0; i<list.getLength(); i++){//获取到⼦标签lanElement lan = (Element) list.item(i);//获取到他的属性String id = lan.getAttribute("id");//获取到他的⼦标签name的内容String name = lan.getElementsByTagName("name").item(0).getTextContent();//获取到他的⼦标签ide的内容String ide = lan.getElementsByTagName("ide").item(0).getTextContent();//显⽰到textView中textView.append(id+"\n"+name+"\n"+ide+"\n");}} catch (ParserConfigurationException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}});}}到这⾥利⽤Document来操作XML⽂件就完成了。
closedxml使用手册

closedxml使用手册摘要:1.闭包XML 使用手册概述2.闭包XML 的基本概念3.闭包XML 的使用方法4.闭包XML 的实例解析5.闭包XML 的注意事项正文:一、闭包XML 使用手册概述闭包XML 使用手册是一本介绍如何使用闭包XML 进行数据处理和文档操作的教程。
闭包XML 是一种轻量级的XML 库,它提供了许多方便的功能,如数据解析、数据验证、XPath 查询等,使得XML 文档的处理变得更加简单快捷。
二、闭包XML 的基本概念1.闭包XML 库:闭包XML 库是一个基于Java 的XML 处理库,它提供了丰富的API,可以方便地进行XML 文档的解析、验证、查询等操作。
2.XML 文档:XML 文档是一种以XML(eXtensible Markup Language,可扩展标记语言)格式编写的数据文件。
XML 文档具有严格的结构,由一系列的元素和属性组成。
3.XPath:XPath 是一种用于查询XML 文档的表达式语言,它可以帮助我们快速定位到XML 文档中的特定数据。
三、闭包XML 的使用方法1.引入闭包XML 库:在使用闭包XML 之前,需要先引入闭包XML 库到项目中。
2.解析XML 文档:使用闭包XML 库提供的API,可以方便地对XML 文档进行解析,将XML 文档转换为Java 对象。
3.验证XML 文档:闭包XML 库提供了XML 文档验证功能,可以检查XML 文档是否符合预期的结构和规范。
4.使用XPath 查询:通过闭包XML 库,我们可以使用XPath 表达式来查询XML 文档中的数据,快速定位到需要的信息。
四、闭包XML 的实例解析以下是一个使用闭包XML 库解析XML 文档的实例:```javaimport com.closedxml.parser.Parser;import com.closedxml.parser.xml.XmlParser;import com.closedxml.data.XElement;public class Main {public static void main(String[] args) {String xmlString ="<root><element1>value1</element1><element2>value2</element2 ></root>";Parser parser = new XmlParser();XElement xElement = parser.parse(xmlString);System.out.println("Root: " + xElement.getName());System.out.println("Element1: " +xElement.element("element1").textTrim());System.out.println("Element2: " +xElement.element("element2").textTrim());}}```五、闭包XML 的注意事项1.在使用闭包XML 库时,需要确保XML 文档的结构和格式符合规范,否则解析过程可能会出错。
怎么打开xml文件的方法和软件

怎么打开xml文件的方法和软件怎么打开xml文件的方法和软件XML是Extensible Markup Language的简写,一种扩展性标识语言。
下面教你怎么打开xml文件的方法和软件。
xml文件怎么打开的方法:其实最简单的就是用EXCEL表格打开了。
也可以用Netscape 6来打开XML文档,并且也可以用右键选择“察看源文件” ,当你用Netscape 6打开XML文档后,浏览器将用带颜色的代码显示根元素和子元素。
如何在Excel 中打开文件当您, Excel 中打开 XML 文件将提示您以选择要导入 XML 数据的下列方法之一:作为 XML 列表作为只读工作簿使用 XML 源任务窗格打开该文件作为 XML 列表当您打开一个 XML 源, Excel 寻找用于 XML 样式表 (XSL) 标记。
XSL 说明数据是如何以显示如果标记是存在, Excel 提示与选择,或不应用样式表。
如果您选择要应用一个 XSL, XSL 规定如何呈现数据;这里, 其余部分与本文此部分中信息不适用。
如果没有 XSL 标记, 没有收到以下消息:指定 XML 源没有引用到架构。
Excel 将创建基于 XML 源数据架构。
然后 Excel 导入 XML 源中数据。
通过多行如果 XML 数据包含重复字段内元素, Excel 传播数据。
每一行包含一个唯一的数据集。
这会导致 XML 才能显示为 Excel 中的行大数字中小的数据集。
打开该文件作为只读工作簿当您选择要打开一个 XML 源文档作为只读工作簿, 第一个标记的`元素使用像标题并且单元格 A 1 中放置。
其余的标记是按字母顺序排序,跨第二行放置。
作为只读工作簿打开它时将被分为天气报告示例本文中前面:列标题下面列表/ 区域 / 城市/ 区域 / 国家/ 区域 / 地区/ 区域 / 状态/date索引 measurements / h -/ measurements / 湿度/ measurements / skies/ measurements / 温度索引 measurements / uv -/ measurements / 可视性measurements / wind / directionmeasurements / wind / windspeed/ 时间对于每个这些列数据是否一对数据, 是放在第三行的电子表格。
xmlnotepad使用技巧

文章标题:深入剖析XMLNotepad的使用技巧在现今信息技术飞速发展的时代,XML已经成为了信息交换和数据存储的一种常见格式。
而XMLNotepad作为一个功能强大的XML编辑工具,它的使用技巧也变得越来越重要。
本文将从简到繁地向您介绍XMLNotepad的使用技巧,帮助您更好地利用这个工具来编辑和管理XML文件。
1. XMLNotepad简介XMLNotepad是一个免费的XML编辑器,由微软公司开发。
它提供了丰富的功能和友好的界面,能够帮助用户轻松地编写、查看和编辑XML文档。
作为一个功能强大而又易于使用的工具,XMLNotepad在处理XML文件方面有着独特的优势。
2. XMLNotepad的基本功能XMLNotepad的基本功能包括XML文档的创建、编辑、保存和浏览。
通过XMLNotepad,用户可以轻松地打开并查看XML文件的层次结构,对节点进行操作,并实时预览文件的变化。
XMLNotepad还提供了智能的代码提示和语法高亮功能,让用户能够更加便捷地编写XML 文档。
3. XMLNotepad高级功能除了基本功能外,XMLNotepad还支持高级的XML文档操作,例如XSLT转换、XPath查询和XML Schema验证等。
通过这些高级功能,用户可以更加灵活地处理XML文档,并进行更多样化的操作。
用户可以利用XSLT转换技术将XML文档转换为其他格式的文档,或者通过XPath查询快速定位到所需的节点。
4. XMLNotepad的实际应用在实际应用中,XMLNotepad可以被广泛用于各种场景,例如Web开发、数据管理和配置文件编辑等。
通过XMLNotepad,用户可以更加高效地处理XML文档,降低错误率,提高工作效率。
以Web开发为例,XMLNotepad可以帮助开发者快速地编辑和调试XML格式的配置文件,同时通过其强大的验证功能避免常见的语法错误。
5. 个人观点与理解作为一名资深的XML编辑工具用户,我个人对XMLNotepad有着深刻的理解和丰富的实践经验。
closedxml使用手册

closedxml使用手册摘要:一、前言二、closedxml 简介1.什么是closedxml2.为什么使用closedxml三、closedxml 基本操作1.创建XML 文档2.添加XML 元素和属性3.修改XML 元素和属性4.删除XML 元素和属性5.查找和替换XML 内容四、closedxml 高级操作1.遍历和修改XML 文档2.导入和导出XML 数据3.验证XML 文档五、closedxml 应用案例1.案例一:生成XML 文件2.案例二:从XML 文件中读取数据六、总结正文:一、前言closedxml 是一款用于处理XML 文档的Python 库,它可以帮助我们轻松地创建、读取、修改和删除XML 文档。
在许多实际应用中,我们都需要处理XML 格式的数据,closedxml 为我们提供了方便快捷的处理方式。
二、closedxml 简介2.1 什么是closedxmlclosedxml 是一个Python 库,用于处理XML 文档。
它基于Python 的解析器,提供了简单易用的API,使开发者能够轻松地创建、读取、修改和删除XML 文档。
2.2 为什么使用closedxmlclosedxml 具有以下优点:- 简单易用:closedxml 提供了简单直观的API,使开发者能够快速上手。
- 高效性能:closedxml 基于Python 的内置解析器,性能优于其他第三方库。
- 跨平台支持:closedxml 可以在Windows、Linux 和Mac OS X 等平台上运行。
三、closedxml 基本操作3.1 创建XML 文档要创建一个XML 文档,可以使用closedxml 的Document() 函数。
例如:```pythonfrom closedxml import etreedoc = etree.Document()```3.2 添加XML 元素和属性要向XML 文档中添加元素和属性,可以使用doc.create_element() 和doc.set() 方法。
读写XML的四种方法

读写XML的四种方法XML(eXtensible Markup Language)是一种用于表示和传输数据的标记语言。
它具有良好的可读性和扩展性,被广泛应用于Web开发、数据交换和配置文件等领域。
在读写和处理XML数据时,有许多方法可供选择。
本文将介绍四种常见的读写XML的方法:DOM、SAX、JDOM、和XMLStreamReader/XMLStreamWriter。
1. DOM(Document Object Model):DOM是一种基于树形结构的解析器,它将整个XML文档加载到内存中,并将其表示为一个对象树。
在DOM中,每个XML元素都被表示为一个节点(Node),可以通过节点的属性和方法对其进行操作。
读取XML文档时,可以使用DOM解析器将其转换为一个DOM树,然后通过节点的方法访问和修改树结构。
写入XML文档时,可以通过创建和修改节点来构建DOM树,并使用DOM解析器将其保存为XML文档。
使用DOM读取XML文档的基本步骤如下:- 创建一个DocumentBuilderFactory对象。
- 根据DocumentBuilderFactory对象创建一个DocumentBuilder对象。
- 使用DocumentBuilder对象解析XML文档,并返回一个Document对象。
- 通过Document对象的方法遍历和操作XML文档的节点。
使用DOM写入XML文档的基本步骤如下:- 创建一个DocumentBuilderFactory对象。
- 根据DocumentBuilderFactory对象创建一个DocumentBuilder对象。
- 使用DocumentBuilder对象创建一个Document对象。
- 通过Document对象的方法创建和添加元素节点、属性节点等。
- 使用TransformerFactory和Transformer对象将Document对象保存为XML文档。
DOM的优点是易于使用和理解,可以方便地遍历和修改XML文档。
四种xml操作方式的基本使用方法

}
}
public void startElement(String uri,String localName,String qName,Attributes attrs) {
Document doc = builder.parse(f);
NodeList nl = doc.getElementsByTagName("VALUE");
for (int i=0;i<nl.getLength();i++){
System.out.print("车牌号码:" + doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue());
public MyXMLReader() {
super();
}
public static void main(String args[]) {
long lasting = System.currentTimeMillis();
try {
SAXParserFactory sf = SAXParserFactory.newInstance();
3. 四种xml操作方式的基本使用"1.0" encoding="GB2312"?>
<RESULT>
<VALUE>
<NO>A1234</NO>
<ADDR>四川省XX县XX镇XX路X段XX号</ADDR>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard GeneralizedMarkup Language,标准通用标记语言)。
它没有标签集(tag set),也没有语法规则(grammatical rule),但是它有句法规则(syntax rule)。
任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,并且在语句构成上应符合技术规范的要求。
XML文档可以是有效的(valid),但并非一定要求有效。
所谓有效文档是指其符合其文档类型定义(DTD)的文档。
如果一个文档符合一个模式(schema)的规定,那么这个文档是"模式有效的(schema valid)"。
XML文件在存储、交换和传输数据信息上有着很方便处理,那么今天这篇文章主要讲一下用C#如何实现对XML文件的基本操作,如:创建xml文件,增、删、改、查xml的节点信息。
所使用的方法很基础,方便易懂(用于自己的学习和记忆只需,同时也希望能够给你带来一些帮助,如有不合适的地方欢迎大家批评指正)。
本文的主要模块为:①:生成xml文件②:遍历xml文件的节点信息③:修改xml文件的节点信息④:向xml文件添加节点信息⑤:删除指定xml文件的节点信息假设我们需要设计出这样的一个xml文件来存储相应的信息,如下所示:<Computers><Computer ID="11111111" Description="Made in China"><name>Lenovo</name><price>5000</price></Computer><Computer ID="2222222" Description="Made in USA"><name>IBM</name><price>10000</price></Computer></Computers>那么如何生成这个xml文件?又怎么读取这个xml文件的节点信息,以及如何对这个xml文件的节点信息作相应的操作?请看如下代码示例:【注:因为我们要使用xml相关的语法和方法,所以一定要引入命名空间System.Xml】1using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;5 using System.Xml;67 namespace OperateXML8{9class Program10 {11staticvoid Main(string[] args)12 {13try14 {15//xml文件存储路径16string myXMLFilePath ="E:\\MyComputers.xml";17//生成xml文件18 GenerateXMLFile(myXMLFilePath);19//遍历xml文件的信息20 GetXMLInformation(myXMLFilePath);21//修改xml文件的信息22 ModifyXmlInformation(myXMLFilePath);23//向xml文件添加节点信息24 AddXmlInformation(myXMLFilePath);25//删除指定节点信息26 DeleteXmlInformation(myXMLFilePath);27 }28catch (Exception ex)29 {30 Console.WriteLine(ex.ToString());31 }32 }3334priva test aticvoid GenerateXMLFile(string xmlFilePath)35 {36try37 {38//初始化一个xml实例39 XmlDocumentmyXmlDoc =new XmlDocument();40//创建xml的根节点41 XmlElementrootElement = myXmlDoc.CreateElement("Computers");42//将根节点加入到xml文件中(AppendChild)43 myXmlDoc.AppendChild(rootElement);4445//初始化第一层的第一个子节点46 XmlElement firstLevelElement1 = myXmlDoc.CreateElement("Computer"); 47//填充第一层的第一个子节点的属性值(SetAttribute)48 firstLevelElement1.SetAttribute("ID", "11111111");49 firstLevelElement1.SetAttribute("Description", "Made in China");50//将第一层的第一个子节点加入到根节点下51 rootElement.AppendChild(firstLevelElement1);52//初始化第二层的第一个子节点53 XmlElement secondLevelElement11 = myXmlDoc.CreateElement("name"); 54//填充第二层的第一个子节点的值(InnerText)55 secondLevelElement11.InnerText ="Lenovo";56 firstLevelElement1.AppendChild(secondLevelElement11);57 XmlElement secondLevelElement12 = myXmlDoc.CreateElement("price");58 secondLevelElement12.InnerText ="5000";59 firstLevelElement1.AppendChild(secondLevelElement12);606162 XmlElement firstLevelElement2 = myXmlDoc.CreateElement("Computer");63 firstLevelElement2.SetAttribute("ID", "2222222");64 firstLevelElement2.SetAttribute("Description", "Made in USA");65 rootElement.AppendChild(firstLevelElement2);66 XmlElement secondLevelElement21 = myXmlDoc.CreateElement("name");67 secondLevelElement21.InnerText ="IBM";68 firstLevelElement2.AppendChild(secondLevelElement21);69 XmlElement secondLevelElement22 = myXmlDoc.CreateElement("price");70 secondLevelElement22.InnerText ="10000";71 firstLevelElement2.AppendChild(secondLevelElement22);7273//将xml文件保存到指定的路径下74 myXmlDoc.Save(xmlFilePath);75 }76catch (Exception ex)77 {78 Console.WriteLine(ex.ToString());79 }80 }8182privatestaticvoid GetXMLInformation(string xmlFilePath)83 {84try85 {86//初始化一个xml实例87 XmlDocumentmyXmlDoc =new XmlDocument();88//加载xml文件(参数为xml文件的路径)89 myXmlDoc.Load(xmlFilePath);90//获得第一个姓名匹配的节点(SelectSingleNode):此xml文件的根节点91 XmlNoderootNode = myXmlDoc.SelectSingleNode("Computers");92//分别获得该节点的InnerXml和OuterXml信息93string innerXmlInfo = rootNode.InnerXml.ToString();94string outerXmlInfo = rootNode.OuterXml.ToString();95//获得该节点的子节点(即:该节点的第一层子节点)96 XmlNodeListfirstLevelNodeList = rootNode.ChildNodes;97foreach (XmlNode node in firstLevelNodeList)98 {99//获得该节点的属性集合100 XmlAttributeCollectionattributeCol = node.Attributes; 101foreach (XmlAttributeattri in attributeCol)102 {103//获取属性名称与属性值104string name = ;105string value = attri.Value;106 Console.WriteLine("{0} = {1}", name, value);107 }108109//判断此节点是否还有子节点110if (node.HasChildNodes)111 {112//获取该节点的第一个子节点113 XmlNode secondLevelNode1 = node.FirstChild;114//获取该节点的名字115string name = ;116//获取该节点的值(即:InnerText)117string innerText = secondLevelNode1.InnerText;118 Console.WriteLine("{0} = {1}", name, innerText);119120//获取该节点的第二个子节点(用数组下标获取)121 XmlNode secondLevelNode2 = node.ChildNodes[1];122 name = ;123 innerText = secondLevelNode2.InnerText;124 Console.WriteLine("{0} = {1}", name, innerText);125 }126 }127 }128catch (Exception ex)129 {130 Console.WriteLine(ex.ToString());131 }132 }133134privatestaticvoid ModifyXmlInformation(string xmlFilePath) 135 {136try137 {138 XmlDocumentmyXmlDoc =new XmlDocument();139 myXmlDoc.Load(xmlFilePath);140 XmlNoderootNode = myXmlDoc.FirstChild;141 XmlNodeListfirstLevelNodeList = rootNode.ChildNodes;142foreach (XmlNode node in firstLevelNodeList)143 {144//修改此节点的属性值145if (node.Attributes["Description"].Value.Equals("Made in USA")) 146 {147 node.Attributes["Description"].Value ="Made in HongKong";148 }149 }150//要想使对xml文件所做的修改生效,必须执行以下Save方法151 myXmlDoc.Save(xmlFilePath);152 }153catch (Exception ex)154 {155 Console.WriteLine(ex.ToString());156 }157158 }159160privatestaticvoid AddXmlInformation(string xmlFilePath)161 {162try163 {164 XmlDocumentmyXmlDoc =new XmlDocument();165 myXmlDoc.Load(xmlFilePath);166//添加一个带有属性的节点信息167foreach (XmlNode node in myXmlDoc.FirstChild.ChildNodes)168 {169 XmlElementnewElement = myXmlDoc.CreateElement("color"); 170 newElement.InnerText ="black";171 newElement.SetAttribute("IsMixed", "Yes");172 node.AppendChild(newElement);173 }174//保存更改175 myXmlDoc.Save(xmlFilePath);176 }177catch (Exception ex)178 {179 Console.WriteLine(ex.ToString());180 }181 }182183privatestaticvoid DeleteXmlInformation(string xmlFilePath)184 {185try186 {187 XmlDocumentmyXmlDoc =new XmlDocument();188 myXmlDoc.Load(xmlFilePath);189foreach (XmlNode node in myXmlDoc.FirstChild.ChildNodes)190 {191//记录该节点下的最后一个子节点(简称:最后子节点)192 XmlNodelastNode = stChild;193//删除最后子节点下的左右子节点194 lastNode.RemoveAll();195//删除最后子节点196 node.RemoveChild(lastNode);197 }198//保存对xml文件所做的修改199 myXmlDoc.Save(xmlFilePath);200 }201catch (Exception ex)202 {203 Console.WriteLine(ex.ToString());204 }205 }206 }207}208上面的这个例子,首先是通过GenerateXMLFile方法在E盘创建出了我们预想的xml文件;然后通过GetXMLInformation方法对刚刚生成的xml文件进行了信息的读取;之后通过ModifyXmlInformation方法对xml文件信息作出相应的修改(<Computer ID="2222222" Description="Made in USA">修改成为<Computer ID="2222222" Description="Made in HongKong">);再之后通过AddXmlInformation方法向xml文件中添加了一个带有属性值的color节点;最后通过DeleteXmlInformation方法将刚刚添加上的color节点删除掉。