【转载有关XmlAttribute的知识】

XmlAttribute类用于描述XML 数据中的元素属性。因为属性的编辑和设置一般使用XmlElement类提供的方法来实现,所以,XmlAttribute类设计的主要目的是为了描述元素属性这样一种XML数据结构。

XMLAttribute类和其他的XmlNode派生类相比,具有一些特殊的地方:该类虽然也是继承于XmlNode ,但是由于该类从属于XmlElement类,不是单独存在的节点——这是DOM标准接口所规定的——所以实际上XmlAttribute不具有子节点。在XmlNode类中定义的一系列子节点操作方法,在这里已经失去了作用。

语法定义:

public class XmlAttribute: XmlNode

因为XmlAttribute类的构造函数是受保护的,所以不能使用其创建XmlAttribute类的实例。一般采用的做法是在XmlDocument类实例中,使用CreateAttribute方法来创建XmlAttribute类的实例。

[html] view plaincopyprint?

  1. XmlDocument doc = new XmlDocument();
  2. //使用属性的限定名创建XmlAttribute类实例
  3. XmlAttribute attr = doc.CreateAttribute("newattribute");
  4. //使用属性的限定名和namespaceURI创建XmlAttribute类实例
  5. XmlAttribute attr = doc.CreateAttribute("xmlns:newattribute","http://www.w3.org/2000/xmlns");
XmlDocument doc = new XmlDocument();
//使用属性的限定名创建XmlAttribute类实例
XmlAttribute attr = doc.CreateAttribute("newattribute");
//使用属性的限定名和namespaceURI创建XmlAttribute类实例
XmlAttribute attr = doc.CreateAttribute("xmlns:newattribute","http://www.w3.org/2000/xmlns");

方法详解

XmlAttribute类虽然包含了XmlNode中的子节点方法,但在XML数据结构中的元素属性不具备子节点,所以实际中并不使用这些方法。大部分操作XmlAttribute类的方法在该类所属的XmlElement中实现了。对于XmlAttribute类本身,主要的方法如下:

Clone:创建当前属性的一个副本

CloneNode:创建当前属性的一个副本,因为XmlAttribute类实际上没有子节点,所以该方法等同于Clone方法

WriteContentTo:使用指定的XmlWriter类实例保存当前元素的所有子节点

WriteTo:使用指定的XmlWrite保存当前元素

[csharp] view plaincopyprint?

  1. static void Main(string[] args)
  2. {
  3. XmlDocument doc = new XmlDocument();
  4. doc.LoadXml("<Data></Data>");
  5. XmlAttribute attr = doc.CreateAttribute("type");  //创建Data元素的属性
  6. attr.Value ="array";
  7. doc.DocumentElement.SetAttributeNode(attr); //添加Data元素属性
  8. //克隆属性,在XmlAttribute类中,CloneNode(true)等同于CloneNode(false),也等同于Clone()
  9. XmlAttribute newattr = (XmlAttribute)attr.CloneNode(true);
  10. newattr.Value = "enum";
  11. doc.DocumentElement.SetAttributeNode(newattr); // 为元素添加同名属性,即修改属性值
  12. Console.WriteLine(doc.OuterXml);
  13. Console.ReadLine();
  14. }
static void Main(string[] args)
{
    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<Data></Data>");
    XmlAttribute attr = doc.CreateAttribute("type");  //创建Data元素的属性
    attr.Value ="array";
    doc.DocumentElement.SetAttributeNode(attr); //添加Data元素属性
    //克隆属性,在XmlAttribute类中,CloneNode(true)等同于CloneNode(false),也等同于Clone()
    XmlAttribute newattr = (XmlAttribute)attr.CloneNode(true);
    newattr.Value = "enum";
    doc.DocumentElement.SetAttributeNode(newattr); // 为元素添加同名属性,即修改属性值
     Console.WriteLine(doc.OuterXml);
    Console.ReadLine();
}

上面的代码输出结果为:

<Data type="enum"></Data>

属性详解:

BaseURI:获取属性的基统一资源标识符(URI)

InnerText:获取或指定属性的串联值

InnerXml:获取或指定属性的值

IsReadOnly:获取指示属性是否是只读的值

LocalName:获取属性的本地名称

Name:获取属性的限定名

NamespaceURI:获取属性的命名空间URI

NodeType:获取当前节点的类型

OuterXml:获取表示此节点及其所有子节点的标记

OwnerDocument:获取该节点所属的Xmldocument

OwnerElement:获取该属性的XmlElement

ParentNode:获取该节点的父级,对于XmlAttribute节点,该属性总是返回空引用

Prefix:获取或指定属性的命名空间前缀

Specified:获取一个值,该值指示是否显式指定了属性值

Value:获取或指定属性的值

下面演示如何使用XmlAttribute类的这些属性,代码如下:

[csharp] view plaincopyprint?

  1. static void Main(string[] args)
  2. {
  3. XmlDocument doc = new XmlDocument();
  4. docLoadXml("<book xmls:bk=‘urn:samples‘ bk:genre=‘novel‘>" + "<title>Price And Prejudice</title></book> ");
  5. XmlAttribute attr = doc.Documentelement.Attribute[0];  //获取XML数据中的元素属性
  6. Console.WriteLine("前缀名:{0}",attr.Prefix);  //显示属性的前缀名
  7. Console.WriteLine(“本地名:{0}",attr.LocalName);
  8. Console.WriteLine(“限定名:{0}",attr.Name);
  9. Console.WriteLine(“基URI:{0}",attr.BaseURI);
  10. Console.WriteLine(“属性值:{0}",attr.InnerText);
  11. Console.ReadLine();
  12. }
static void Main(string[] args)
{
   XmlDocument doc = new XmlDocument();
   docLoadXml("<book xmls:bk=‘urn:samples‘ bk:genre=‘novel‘>" + "<title>Price And Prejudice</title></book> ");
   XmlAttribute attr = doc.Documentelement.Attribute[0];  //获取XML数据中的元素属性
   Console.WriteLine("前缀名:{0}",attr.Prefix);  //显示属性的前缀名
   Console.WriteLine(“本地名:{0}",attr.LocalName);
   Console.WriteLine(“限定名:{0}",attr.Name);
   Console.WriteLine(“基URI:{0}",attr.BaseURI);
   Console.WriteLine(“属性值:{0}",attr.InnerText);
   Console.ReadLine();

}

上面的代码输出结果为:

前缀名:xmlns

本地名:bk

限定名:xmlns:bk

基URI:

属性值:urn:smaples

时间: 2024-10-29 06:05:36

【转载有关XmlAttribute的知识】的相关文章

【转载:Oracle基础知识】Oracle数据库体系结构

先来看张直观的图:                                            oracle 11g 体系结构图 理解Oracle体系结构要充分理解三个概念:数据库(database),数据库实例(instance),会话(session),一定不要把这三个概念弄混. 数据库的概念 (A)    物理存储结构由数据文件.控制文件.重做日志文件组成: 1.       数据文件(datafile) select * from dba_data_files; 数据文件包括存

【转载】线性代数基础知识

原文地址:http://blog.csdn.net/longxinchen_ml/article/details/51629328 作者:Zico Kolter (补充: Chuong Do) 时间:2016年6月 翻译:@MOLLY([email protected]) @OWEN([email protected]) 校正:@寒小阳([email protected]) @龙心尘([email protected]) 出处:http://blog.csdn.net/han_xiaoyang/

【转载】信息学竞赛知识地图

转载自:http://blog.csdn.net/rightreserved/article/details/41409831

Swift中可选类型(Optional)的用法 以及? 和 ! 的区别 (转载博客,知识分享)

本文转载自:代码手工艺人的博客,原文名称:Swift之 ? 和 ! Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化.如果在使用变量之前不进行初始化就会报错: C代码   var stringValue : String //error: variable 'stringValue' used before being initialized //let hashValue = stringVa

【转载】音频基础知识

音频,英文是AUDIO,也许你会在录像机或VCD的背板上看到过AUDIO输出或输入口.这样我们可以很通俗地解释音频,只要是我们听得见的声音,就可以作为音频信号进行传输.有关音频的物理属性由于过于专业,请大家参考其他资料.自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即PCM编码.PCM通过采样.量化.编码三个步骤将连续变化的模拟信号转换为数字编码. 一.音频基本概念 1. 什么是采样率和采样大小(位/bit). 声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于

【转载】JavaScript基础知识体系

前言 最近总是有一种感觉,对于知识没有积淀,很多时候都是忘记了哪里就去查一下,比如JS这种语言,很是浪费时间,如果能够把这些知识形成知识体系塞进大脑,做到即用即取就好了,那么就可以借助思维导图来帮助我们完成这项工作.所谓温故而知新,今天把JavaScript相关的知识整理下(图片来自网络). 一.JavaScript变量 二.JavaScript数据类型 三.JavaScript运算符 四.JavaScript流程语句 五.JavaScript字符串函数 六.JavaScript正则表达式 七.

转载: HDMI 基础知识

转自:http://www.cnblogs.com/TaigaCon/p/3840653.html HDMI,全称为(High Definition Multimedia Interface)高清多媒体接口,主要用于传输高清音视频信号. HDMI引脚: HDMI有A,B,C,D,E五种引脚类型,目前市面中比较常见的就是Type A: 其中 1-9 都是TMDS数据传输实际上用到的引脚,分为0,1,2三组 10-12 为TMDS时钟信号,如当前Video Timing为[email protect

[转载]1. 网络基础知识

一.协议 协议如同人与人之间的谈话 二.协议分层与OSI参考模型 三.OSI参考模型通信处理举例 1)应用层 2)表示层 3)会话层 4)传输层 5)网络层 6)数据链路层.物理层 四.传输方式分类 1)面向有连接型与面向无连接型 2)电路交换与分组交换 3)根据接收端数量分类 五.网络的构成要素 1)通信媒介与数据链路 2)网卡 3)中继器 4)网桥/2层交换机 5)路由器/3层交换机 6)4~7层交换机 7)网关 来源: <http://www.cnblogs.com/strick/arti

【转载】心理声学基本知识

心理声学的基本要素是到达人耳的声音的频率.强度和谱结构.以下将进一步讨论基于心理声学的声源定位.距离感知及包围感等. 2.2.1 人耳对声源的定位 在自然听音中,人的听觉系统对声源的定位取决于多个因素——双耳接收到的信号差异用来决定声源的水平位置,由外耳对高频信号的反射所引起的耳郭效应决定声源的垂直位置,而人耳的某些心理声学特性对于声源的定位也起到很大的作用. 2.2.1.1 双耳效应 在自然听音环境中,双耳信号之间的差异对于声源的定位是非常重要的.该因素可以在直达声场的听音环境中得到最好解释,