国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
在C#.net中怎么操作XML
userphoto

2011.07.05

關注

在c#.net中怎么操作xml
需要添加的命名空間:
using system.xml;

定義幾個公共對象:
xmldocument xmldoc ;
xmlnode xmlnode ;
xmlelement xmlelem ;

1,創(chuàng)建到服務器同名目錄下的xml文件:

方法一:
xmldoc = new xmldocument ( ) ;
//加入xml的聲明段落
xmlnode = xmldoc.createnode ( xmlnodetype.xmldeclaration , "" , "" ) ;
xmldoc.appendchild ( xmlnode ) ;
//加入一個根元素
xmlelem = xmldoc.createelement ( "" , "employees" , "" ) ;
xmldoc.appendchild ( xmlelem ) ;
//加入另外一個元素
for(int i=1;i<3;i++)
{

xmlnode root=xmldoc.selectsinglenode("employees");//查找<employees>
xmlelement xe1=xmldoc.createelement("node");//創(chuàng)建一個<node>節(jié)點
xe1.setattribute("genre","李贊紅");//設置該節(jié)點genre屬性
xe1.setattribute("isbn","2-3631-4");//設置該節(jié)點isbn屬性

xmlelement xesub1=xmldoc.createelement("title");
xesub1.innertext="cs從入門到精通";//設置文本節(jié)點
xe1.appendchild(xesub1);//添加到<node>節(jié)點中
xmlelement xesub2=xmldoc.createelement("author");
xesub2.innertext="候捷";
xe1.appendchild(xesub2);
xmlelement xesub3=xmldoc.createelement("price");
xesub3.innertext="58.3";
xe1.appendchild(xesub3);

root.appendchild(xe1);//添加到<employees>節(jié)點中
}
//保存創(chuàng)建好的xml文件
xmldoc.save ( server.mappath("data.xml") ) ;

//////////////////////////////////////////////////////////////////////////////////////
結果:在同名目錄下生成了名為data.xml的文件,內容如下,
<?xml version="1.0"?>
<employees>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
</employees>

方法二:
xmltextwriter xmlwriter;
    string strfilename = server.mappath("data1.xml") ;

    xmlwriter = new xmltextwriter(strfilename,encoding.default);//創(chuàng)建一個xml文件
    xmlwriter.formatting = formatting.indented;
    xmlwriter.writestartdocument();
    xmlwriter.writestartelement("employees");

    xmlwriter.writestartelement("node");
    xmlwriter.writeattributestring("genre","李贊紅");
    xmlwriter.writeattributestring("isbn","2-3631-4");

    xmlwriter.writestartelement("title");
    xmlwriter.writestring("cs從入門到精通");
    xmlwriter.writeendelement();

    xmlwriter.writestartelement("author");
    xmlwriter.writestring("候捷");
    xmlwriter.writeendelement();

    xmlwriter.writestartelement("price");
    xmlwriter.writestring("58.3");
    xmlwriter.writeendelement();

    xmlwriter.writeendelement();

    xmlwriter.close();
//////////////////////////////////////////////////////////////////////////////////////
結果:
<?xml version="1.0" encoding="gb2312"?>
<employees>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
</employees>

2,添加一個結點:

xmldocument xmldoc=new xmldocument();
xmldoc.load(server.mappath("data.xml"));
xmlnode root=xmldoc.selectsinglenode("employees");//查找<employees>
xmlelement xe1=xmldoc.createelement("node");//創(chuàng)建一個<node>節(jié)點
xe1.setattribute("genre","張三");//設置該節(jié)點genre屬性
xe1.setattribute("isbn","1-1111-1");//設置該節(jié)點isbn屬性

xmlelement xesub1=xmldoc.createelement("title");
xesub1.innertext="c#入門幫助";//設置文本節(jié)點
xe1.appendchild(xesub1);//添加到<node>節(jié)點中
xmlelement xesub2=xmldoc.createelement("author");
xesub2.innertext="高手";
xe1.appendchild(xesub2);
xmlelement xesub3=xmldoc.createelement("price");
xesub3.innertext="158.3";
xe1.appendchild(xesub3);

root.appendchild(xe1);//添加到<employees>節(jié)點中
xmldoc.save ( server.mappath("data.xml") );

//////////////////////////////////////////////////////////////////////////////////////
結果:在xml原有的內容里添加了一個結點,內容如下,
<?xml version="1.0"?>
<employees>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node genre="張三" isbn="1-1111-1">
    <title>c#入門幫助</title>
    <author>高手</author>
    <price>158.3</price>
</node>
</employees>

3,修改結點的值(屬性和子結點):

xmldocument xmldoc=new xmldocument();
xmldoc.load( server.mappath("data.xml") );

xmlnodelist nodelist=xmldoc.selectsinglenode("employees").childnodes;//獲取employees節(jié)點的所有子節(jié)點

foreach(xmlnode xn in nodelist)//遍歷所有子節(jié)點
{
xmlelement xe=(xmlelement)xn;//將子節(jié)點類型轉換為xmlelement類型
if(xe.getattribute("genre")=="張三")//如果genre屬性值為“張三”
{
xe.setattribute("genre","update張三");//則修改該屬性為“update張三”

xmlnodelist nls=xe.childnodes;//繼續(xù)獲取xe子節(jié)點的所有子節(jié)點
foreach(xmlnode xn1 in nls)//遍歷
{
xmlelement xe2=(xmlelement)xn1;//轉換類型
if(xe2.name=="author")//如果找到
{
xe2.innertext="亞勝";//則修改
}
}
}
}
xmldoc.save( server.mappath("data.xml") );//保存。

//////////////////////////////////////////////////////////////////////////////////////
結果:將原來的所有結點的信息都修改了,xml的內容如下,
<?xml version="1.0"?>
<employees>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node genre="update張三" isbn="1-1111-1">
    <title>c#入門幫助</title>
    <author>亞勝</author>
    <price>158.3</price>
</node>
</employees>

4,修改結點(添加結點的屬性和添加結點的自結點):
xmldocument xmldoc=new xmldocument();
xmldoc.load( server.mappath("data.xml") );

xmlnodelist nodelist=xmldoc.selectsinglenode("employees").childnodes;//獲取employees節(jié)點的所有子節(jié)點

foreach(xmlnode xn in nodelist)
{
xmlelement xe=(xmlelement)xn;
xe.setattribute("test","111111");

xmlelement xesub=xmldoc.createelement("flag");
xesub.innertext="1";
xe.appendchild(xesub);
}
xmldoc.save( server.mappath("data.xml") );

//////////////////////////////////////////////////////////////////////////////////////
結果:每個結點的屬性都添加了一個,子結點也添加了一個,內容如下,
<?xml version="1.0"?>
<employees>
<node genre="李贊紅" isbn="2-3631-4" test="111111">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
    <flag>1</flag>
</node>
<node genre="李贊紅" isbn="2-3631-4" test="111111">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
    <flag>1</flag>
</node>
<node genre="update張三" isbn="1-1111-1" test="111111">
    <title>c#入門幫助</title>
    <author>亞勝</author>
    <price>158.3</price>
    <flag>1</flag>
</node>
</employees>

5,刪除結點中的某一個屬性:
xmldocument xmldoc=new xmldocument();
xmldoc.load( server.mappath("data.xml") );
xmlnodelist xnl=xmldoc.selectsinglenode("employees").childnodes;
foreach(xmlnode xn in xnl)
{
xmlelement xe=(xmlelement)xn;
xe.removeattribute("genre");//刪除genre屬性

xmlnodelist nls=xe.childnodes;//繼續(xù)獲取xe子節(jié)點的所有子節(jié)點
foreach(xmlnode xn1 in nls)//遍歷
{
xmlelement xe2=(xmlelement)xn1;//轉換類型
if(xe2.name=="flag")//如果找到
{
xe.removechild(xe2);//則刪除
}
}
}
xmldoc.save( server.mappath("data.xml") );

//////////////////////////////////////////////////////////////////////////////////////]
結果:刪除了結點的一個屬性和結點的一個子結點,內容如下,
<?xml version="1.0"?>
<employees>
<node isbn="2-3631-4" test="111111">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node isbn="2-3631-4" test="111111">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node isbn="1-1111-1" test="111111">
    <title>c#入門幫助</title>
    <author>亞勝</author>
    <price>158.3</price>
</node>
</employees>

6,刪除結點:
xmldocument xmldoc=new xmldocument();
xmldoc.load( server.mappath("data.xml") );
xmlnode root=xmldoc.selectsinglenode("employees");
xmlnodelist xnl=xmldoc.selectsinglenode("employees").childnodes;
for(int i=0;i<xnl.count;i++)
{
xmlelement xe=(xmlelement)xnl.item(i);
if(xe.getattribute("genre")=="張三")
{
root.removechild(xe);
if(i<xnl.count)i=i-1;
}
}
xmldoc.save( server.mappath("data.xml") );

//////////////////////////////////////////////////////////////////////////////////////]
結果:刪除了符合條件的所有結點,原來的內容:

<?xml version="1.0"?>
<employees>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node genre="張三" isbn="1-1111-1">
    <title>c#入門幫助</title>
    <author>高手</author>
    <price>158.3</price>
</node>
<node genre="張三" isbn="1-1111-1">
    <title>c#入門幫助</title>
    <author>高手</author>
    <price>158.3</price>
</node>
</employees>

刪除后的內容:
<?xml version="1.0"?>
<employees>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
<node genre="李贊紅" isbn="2-3631-4">
    <title>cs從入門到精通</title>
    <author>候捷</author>
    <price>58.3</price>
</node>
</employees>

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
c#寫XML
怎樣在C#里對xml文件進行修改,新增,刪除,插入操作?
VB.NET中操作xml文件
C#操作XML小結
C# 寫入XML文檔三種方法詳細介紹
C#在WINForm程序中創(chuàng)建XML文件
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服