C#中对XML的读取操作
来源:互联网 发布:java什么是异常 编辑:程序博客网 时间:2024/05/21 11:27
1.如何利用xmldocument加载xml文件。
在.net中使用DOM
.net中的文档对象模型(document object model)支持W3C DOM LEVEL 1和Core DOM LEVEL2规范,DOM是通过XMLNode类来实现的。XmlNode是一个抽象类,他表示文档中的一个节点。
使用XmlDocument对象。
XmlDocument及其派生类XmlDataDocument是用于在.net中表示DOM的类,与XmlReader和XmlWriter不同,XmlDocument具有读写功能,并可以随机访问DOM树。
命名空间:System.Xmlpublic class XmlDocument : XmlNode:表示 XML 文档。
备注:此类实现 W3C 文档对象模型 (DOM) 级别 1 核心 (Level 1 Core) 和核心 DOM 级别 2 (Core DOM Level 2)。DOM 是 XML 文档的内存中(缓存)树状表示形式,允许对该文档的导航和编辑。
构建器:
public XmlDocument():初始化XmlDocument类的新实例。
公共方法:
public virtual void Load ( Stream inStream ):从指定的流加载 XML 文档,参数inStream 包含要加载的 XML 文档的流。
public virtual void Load ( string filename ):从指定的 URL 加载 XML 文档,参数filename 文件的 URL,该文件包含要加载的 XML 文档。
xmldocument对xml文件中每个标签(节点),属性(属性attribute),文本(Text)
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load(@"c:/aa.xml");
XmlNode node=doc.DocumentElement;//xml的根标签
Console.WriteLine(node.Name);//返回标签的名字
Console.WriteLine(node.InnerText);//返回标签下所有字标签包含的文本。
Console.WriteLine(node.InnerXml);//返回所有字标签以及包含的文本。
}
}
2、读取xml数据的方法。
范例:读取所有标签下的<name>标签中文本。
XmlNode:表示一个标签节点
XmlNodeList:表示一个节点的集合
public virtual XmlNodeList GetElementsByTagName ( string name ):返回一个 XmlNodeList,它包含与指定 Name 匹配的所有子代元素的列表,参数name 要匹配的限定名。它针对匹配节点的 Name 属性进行匹配。特殊值“*”匹配所有标记,返回数据为:XmlNodeList,包含所有匹配节点的列表。
public abstract class XmlNodeList : IEnumerable:表示排序的节点集合。备注XmlNodeList 集合为“活动”的;也就是说,对其源节点对象的子级所做的更改会立即反映在由 XmlNodeList属性和方法返回的节点中。XmlNodeList 支持迭代和索引访问,此集合对象中包含的每个元素是XmlNode的派生类对象。
以下属性和方法返回 XmlNodeList:
XmlNode.ChildNodes - 返回包含节点所有子级的 XmlNodeList。
XmlNode.SelectNodes - 返回包含匹配 XPath 查询的节点集合的 XmlNodeList。
GetElementsByTagName - 返回包含与指定名称匹配的所有子代元素的列表的 XmlNodeList。该方法在 XmlDocument 和 XmlElement 类中都可以使用。
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load(@"c:/aa.xml");
XmlNodeList list= doc.GetElementsByTagName("name");
foreach (XmlNode node in list)
{
Console.WriteLine(node.Name + ":" + node.InnerText);
}
list = doc.GetElementsByTagName("price");
foreach (XmlNode node in list)
{
Console.WriteLine(node.Name + ":" + node.InnerText);
}
}
}
public XmlNodeList SelectNodes ( string xpath ):选择匹配XPath 表达式的节点列表,参数xpath为XPath 表达式,返回值一个 XmlNodeList,包含匹配 XPath查询的节点集合。不应该要求将 XmlNodeList “实时”连接到 XML 文档。也就是说,XML 文档中的更改不会出现在XmlNodeList 中,反之亦然。
范例:
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load(@"c:/aa.xml");
//XmlNodeList list= doc.GetElementsByTagName("name");
XmlNodeList list = doc.SelectNodes("books/book/name");
foreach (XmlNode node in list)
{
Console.WriteLine(node.Name + ":" + node.InnerText);
}
}
}
aa.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="D:/Project/ConsoleApplication1/ConsoleApplication1/bb.css"?>
<books>
<book id="a1">
<name>jsp</name>
<price>6788</price>
<num>michael</num>
</book>
<book id="a2">
<name>asp.net</name>
<price>444</price>
<num>michael</num>
</book>
</books>
- C#中对XML的读取操作
- C#中对XML的读取操作
- c#中对xml的读取
- C#对xml的操作
- C#中对XML文件的一些基本操作
- C# 操作、读取XML
- c#对XML文件的生成-修改-添加-删除-读取等操作
- c#对XML文件的生成-修改-添加-删除-读取等操作
- C#对XML操作
- C# 对xml操作
- C# 对xml操作
- C#对XML文件的操作
- c#对xml的简单操作
- c#对xml的简单操作
- c#对xml的简单操作
- c#对xml的支持基本操作
- C#对XML文档的操作[转载]
- c#对xml的简单操作
- Android应用程序组件间通信(二)——IntentFilter类简介
- xmpp core RFC 3921 要点一 message
- master.dbo.spt_values
- 关于职场
- 好久没有写博客了
- C#中对XML的读取操作
- ksoap2-android访问webservice,当网络有代理的情况(cmwap)
- 在PL/SQL Developer复制一条记录,快速提交这条记录,而不用使用insert into.
- CSDN的下载频道搜索功能是否存在js注入呢?
- Microsoft SQL Server 2005 提供了一些工具来监控数据库
- centos5.4下python访问sqlserver
- 如何用 XPath 表达式查询 XML
- 【C#】字符转ASCII码,ASCII码转字符
- Game Engine Architecture by Jason Gregory: 序