|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到java编译器那么简易。xml已知有一个XML文件(bookstore.xml)以下:
<?xmlversion="1.0"encoding="gb2312"?>
<bookstore>
<bookgenre="fantasy"ISBN="2-3631-4">
<title>OberonsLegacy</title>
<author>Corets,Eva</author>
<price>5.95</price>
</book>
</bookstore>
1、往<bookstore>节点中拔出一个<book>节点:
XmlDocumentxmlDoc=newXmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNoderoot=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
XmlElementxe1=xmlDoc.CreateElement("book");//创立一个<book>节点
xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性
XmlElementxesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS从进门到精晓";//设置文本节点
xe1.AppendChild(xesub1);//增加到<book>节点中
XmlElementxesub2=xmlDoc.CreateElement("author");
xesub2.InnerText="候捷";
xe1.AppendChild(xesub2);
XmlElementxesub3=xmlDoc.CreateElement("price");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//增加到<bookstore>节点中
xmlDoc.Save("bookstore.xml");
//================
了局为:
<?xmlversion="1.0"encoding="gb2312"?>
<bookstore>
<bookgenre="fantasy"ISBN="2-3631-4">
<title>OberonsLegacy</title>
<author>Corets,Eva</author>
<price>5.95</price>
</book>
<bookgenre="李赞红"ISBN="2-3631-4">
<title>CS从进门到精晓</title>
<author>候捷</author>
<price>58.3</price>
</book>
</bookstore>
2、修正节点:将genre属性值为“李赞红“的节点的genre值改成“update李赞红”,将该节点的子节点<author>的文本修正为“亚胜”。
XmlNodeListnodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//猎取bookstore节点的一切子节点
foreach(XmlNodexninnodeList)//遍历一切子节点
{
XmlElementxe=(XmlElement)xn;//将子节点范例转换为XmlElement范例
if(xe.GetAttribute("genre")=="李赞红")//假如genre属性值为“李赞红”
{
xe.SetAttribute("genre","update李赞红");//则修正该属性为“update李赞红”
XmlNodeListnls=xe.ChildNodes;//持续猎取xe子节点的一切子节点
foreach(XmlNodexn1innls)//遍历
{
XmlElementxe2=(XmlElement)xn1;//转换范例
if(xe2.Name=="author")//假如找到
{
xe2.InnerText="亚胜";//则修正
break;//找到加入来就能够了
}
}
break;
}
}
xmlDoc.Save("bookstore.xml");//保留。
//=================
最初了局为:
<?xmlversion="1.0"encoding="gb2312"?>
<bookstore>
<bookgenre="fantasy"ISBN="2-3631-4">
<title>OberonsLegacy</title>
<author>Corets,Eva</author>
<price>5.95</price>
</book>
<bookgenre="update李赞红"ISBN="2-3631-4">
<title>CS从进门到精晓</title>
<author>亚胜</author>
<price>58.3</price>
</book>
</bookstore>
3、删除<bookgenre="fantasy"ISBN="2-3631-4">节点的genre属性,删除<bookgenre="update李赞红"ISBN="2-3631-4">节点。
XmlNodeListxnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;
foreach(XmlNodexninxnl)
{
XmlElementxe=(XmlElement)xn;
if(xe.GetAttribute("genre")=="fantasy")
{
xe.RemoveAttribute("genre");//删除genre属性
}
elseif(xe.GetAttribute("genre")=="update李赞红")
{
xe.RemoveAll();//删除该节点的全体内容
}
}
xmlDoc.Save("bookstore.xml");
//====================
最初了局为:
<?xmlversion="1.0"encoding="gb2312"?>
<bookstore>
<bookISBN="2-3631-4">
<title>OberonsLegacy</title>
<author>Corets,Eva</author>
<price>5.95</price>
</book>
<book>
</book>
</bookstore>
4、显现一切数据。
XmlNodexn=xmlDoc.SelectSingleNode("bookstore");
XmlNodeListxnl=xn.ChildNodes;
foreach(XmlNodexnfinxnl)
{
XmlElementxe=(XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//显现属性值
Console.WriteLine(xe.GetAttribute("ISBN"));
XmlNodeListxnf1=xe.ChildNodes;
foreach(XmlNodexn2inxnf1)
{
Console.WriteLine(xn2.InnerText);//显现子节点点文本
}
}
c语言的编译器,几乎是所有新平台都有的。因此从这点上看,c语言的程序,比其他任何语言更加容易跨平台。 |
|