createattribute(createattributens)
C#如何创建一个xml文件
//首先创建 XmlDocument xml文档
XmlDocument xml = new XmlDocument();
//创建根节点 config
XmlElement config = xml.CreateElement("Config");
//把根节点加到xml文档中
xml.AppendChild(config);
//创建一个节点 path(用于做子节点)
XmlElement path = xml.CreateElement("Path");
//path节点中的文本内容为 E:\Test\ @用于转义后面的'\'
path.InnerText = @"E:\Test\";
//将path添加为config的子节点
config.AppendChild(path);
//以下Regex同理
XmlElement regex = xml.CreateElement("Regex");
regex.InnerText = "![CDDATA[@^abc$]]";
config.AppendChild(regex);
XmlElement ini = xml.CreateElement("ini");
//所以我们需要创建 ini标签里的xml属性 属性名为timeout
XmlAttribute timeout = xml.CreateAttribute("timeout");
//timeout属性的内容为200
timeout.InnerText = "200";
//标签ini里的文档内容为 time
ini.InnerText = "time";
//创建完标签的属性timeout 后需要将其添加到ini标签的属性里
ini.Attributes.Append(timeout);
//最后将ini标签添加到config 父节点里
config.AppendChild(ini);
//最后将整个xml文件保存在D盘
xml.Save(@"D:\abc.xml");
用C语言读取xml文件,怎么实现?
xml文件和txt文件相同,使用普通的文本操作函数即可读取。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:
#includestdio.h
int?a;
char?b,c[100];
int?main(){
????FILE?*?fp1?=?fopen("input.xml",?"r");//打开xml格式输入文件
????FILE?*?fp2?=?fopen("output.txt",?"w");//打开输出文件
????if?(fp1==NULL?||?fp2==NULL)?{//若打开文件失败则退出
????????puts("不能打开文件!");
????????rturn?0;
????}
????fscanf(fp1,"%d",a);//从输入文件读取一个整数
????b=fgetc(fp1);//从输入文件读取一个字符
????fgets(c,100,fp1);//从输入文件读取一行字符串
????
????printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
????
????fputs(c,fp2);//向输出文件写入一行字符串
????fputc(b,fp2);//向输出文件写入一个字符
????fprintf(fp2,"%d",a);//向输出文件写入一个整数
????
????fclose(fp1);//关闭输入文件
????fclose(fp2);//关闭输出文件,相当于保存
????return?0;
}
javascript,createAttribute("align")和element.align="left"有什么区别?
前者可以给对象添加本来不存在的新属性,后者则只能使用对象已存在的属性
setAttribute的具体用法
setAttribute这个方法,在JSP内置对象session和request都有这个方法,这个方法作用就是保存数据,然后还可以用getAttribute方法来取出。
比如现在又个User对象,Usercurruser=newUser("zhangsan",20,"男");
1,request.setAttribute(“curruser”,curruser)这个方法是将curruser这个对象保存在request作用域中,然后在转发进入的页面就可以获取到你的值,如果你会一些框架的话,那些框架标签也可以获取到,比如struts标签,还有jstl。如果这你都不会的话,那么你可以在jsp页面编写java小脚本来获取:%Usermyuser=(User)request.getAttribute("curruser")%,在jsp页面显示值:%=myuser.getName()%。
2,session.setAttribute("curruser",curruser)。这个方法和上面唯一的区别就是作用域,就是在你整个程序启动的时候,如果在session中保存了数据,那么在你这个无论你在哪个页面,在什么时候都可以获取到这个值,全局的,只要你的这个程序是启动的。session默认的过期时间是30分钟,过期无效,可以去修改这个值。
request.getSession().setAttribute(“绑定名”,绑定值); 这段代码的意思就是:获取session对象,然后把要绑定对象/值 帮定到session对象上 用户的一次会话共享一个session对象。
setattribute和setattributenode的区别
The setAttributeNode method sets or updates the supplied attribute node on this element.setAttributeNode 方法设置或更新当前元素属性为指定的属性节点(也就是setAttributeNode的参数)
VS2010上setAttributeNode 方法的注释为:添加指定SYSTEM.XML.ATTRIBUTENODE。
VS2010上setAttribute方法的注释为:设定具有指定名称的属性的值。
示例:
//前面省略N行代码
Playlist.load(":\\simple.XML");?
//获取节点列表???
ElemList = Playlist.getElementsByTagName("media");?
// 获取节点列表中的第一个节点,并将节点转换为元素?
Elem =? (IXMLDOMElement)ElemList[0];?
//创建一个属性
NodeAtt = Playlist.createAttribute("dur");??
NodeAtt.value = ("15s");?
//将上面新建的属性附加到Elem 元素?
Elem.setAttributeNode(NodeAtt);
javascript如何在div的后面添加一个其他的元素
//1、首先获取div的父节点
//2、创建一个新节点
//3、将新节点添加到div节点后面
//具体操作如下:
var?divs?=?document.getElementsByTagName("DIV");//获取页面中所有div
for(var?i=0;?idivs.length;?i++)?{??
????var?div?=?divs[i];//获取第i个div
????var?divParent?=?div.parentNode;//获取该div的父节点
????var?newNode?=?document.createTextNode("文本节点");//创建文本节点
????var?next?=?div.nextSibling;//获取div的下一个兄弟节点
????//判断兄弟节点是否存在
????if(next)?{
????????//存在则将新节点插入到div的下一个兄弟节点之前,即div之后
????????divParent.insertBefore(newNode,next);
????}?else?{
????????//不存在则直接添加到最后,appendChild默认添加到divParent的最后
????????divParent.appendChild(newNode);
????}
}
//以下是一些常用js操作
var?textNode?=?document.createTextNode("xxx");//创建文本节点
var?elementNode?=?document.createElement("p");//创建元素节点(p)
var?body?=?document.getElementsByTagName("body")[0];//获取body节点
body.appendChild(elementNode);//元素节点添加到body节点下,添加在末尾
elementNode.appendChild(textNode);//将文件节点添加到元素节点下
//获取要删除的节点,elementNode.length-1?表示最后一个指定节点(这里表示最后一个p节点)
var?delElementNode?=?elementNode.item(elementNode.length-1);
body.removeChild(delElementNode);//移除指定节点
body.insertBefore(newNode,?oldNode);//在body中的oldNode前插入newNode节点
body.replaceChild(newNode,?oldNode);//将body中的oldNode替换为newNode节点
//创建一个新的属性
var?style?=?document.createAttribute("style");
//为节点添加新属性
option.attributes.setNamedItem(style);
//设置新属性的值
option.setAttribute("style","color:red");