freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

用c實現(xiàn)xml的編輯器畢業(yè)設計-資料下載頁

2025-06-29 04:59本頁面
  

【正文】 斷nodearray1是否有孩子節(jié)點;語句9:循環(huán)語句,循環(huán)功能用foreach語句來實現(xiàn),判斷條件是nodearray2是否是nodearray1的孩子節(jié)點;語句10:判斷語句,判斷nodearray2的節(jié)點類型是不是Text;語句11:將nodearray2的Value字段賦給treenodeback的tag屬性;語句12:判斷nodearray1節(jié)點的屬性集合中的屬性個數(shù)是不是0;語句13:用for實現(xiàn)一個循環(huán);語句14:將nodearray1節(jié)點的第I個屬性的名字賦給textattr Attrname[i];語句15:遞歸加入所有的xml節(jié)點;分析一下下面的addxmlnode函數(shù):public void addxmlnode(TreeNode node,XmlNode xmlnodeparent)………………………………………1 { foreach(TreeNode childnode in )………………………………………………2 { XmlNode xmlnodeback?!? XmlNode xmlnode= ( )?!? xmlnodeback= (xmlnode) ?!? //加入節(jié)點的文本值 if (((Textattr )).Text !=null)………………………………………6 { XmlNode xmltextnode= (((Textattr ) ).Text )?!? (xmltextnode)?!? } //加入節(jié)點的屬性值 for(int i=0。 ((Textattr ) ).Attrname[i]!=null。i++)…………………………9 ((XmlElement )xmlnodeback).SetAttribute ((((Textattr ) ).Attrname [i]),(((Textattr )).Attrvalue [i]))?!?0 //遞歸加入所有的treenode節(jié)點 addxmlnode(childnode,xmlnodeback)?!?1 } }可以看出這是一個遞歸函數(shù),遞歸把TreeView中的節(jié)點加到XML文檔中。和addxmlnode一樣,,這里就不再重復。解釋一下addxmlnode函數(shù):語句1:定義了addxmlnode函數(shù),參數(shù)xmlnodeparent是xml文檔中的節(jié)點和node是treeView控件中的節(jié)點;語句2:循環(huán)語句,用foreach實現(xiàn)循環(huán),循環(huán)條件是節(jié)點childnode是否是node的孩子節(jié)點;語句3:定義了XML文檔中的節(jié)點xmlnodeback,用于存放節(jié)點childnode的位置;語句4:為XML文檔創(chuàng)建一個具有指定名稱的元素,其名稱是在樹節(jié)點childnode標簽中顯示的文本,并由xmlnode帶回返回值;語句5:把第四行創(chuàng)建的元素添加到節(jié)點xmlnodeparent的子節(jié)點列表中,并由xmlnodeback帶回返回值;語句6:循環(huán)語句,循環(huán)條件是chlidnode的文本值是否為空;語句7:為xml文檔創(chuàng)建一個內(nèi)容為childnode的文本值的節(jié)點,并結(jié)果由xmltextnode帶回;語句8:把節(jié)點xmltextnode添加到xmlnodeback節(jié)點的子節(jié)點列表的末尾。語句9:for的循環(huán)語句,循環(huán)的結(jié)束條件是childnode的屬性名稱不為空;語句10:為xmlnode元素添加屬性名和屬性值;語句11:遞歸加入TreeView的所有節(jié)點;部分軟件代碼 附:部分軟件代碼:(“//加入節(jié)點”這樣的字體為注釋)[STAThread] static void Main() { (new Form1())。 } //定義一個類用于存儲節(jié)點的文本值和屬性值 public class Textattr:Object { public string text。 public string Text { get {return text。} set {text=value 。} } public string[] attrname=new string [5]。 public string[] attrvalue=new string [5]。 public int i。 //定義屬性數(shù)組 public string[] Attrname { get {return attrname。} set {attrname=value。} } public string[] Attrvalue { get {return attrvalue。} set {attrvalue=value。} } } //將xml文擋轉(zhuǎn)化為treeview結(jié)構(gòu)public void addtreenode(XmlNode node,TreeNode treenode) { foreach(XmlNode nodearray1 in ) {TreeNode treenodeback=new TreeNode()。 if ( ==) { Textattr textattr=new Textattr ()。 treenodeback= .Add ( )。 treenodeback .Tag=textattr 。 //加入節(jié)點的文本值 if( ) {foreach (XmlNode nodearray2 in ) {if(nodearray2 .NodeType == ) {((Textattr ) ).Text +=。 } } } else ((Textattr ) ).Text =null。 //加入節(jié)點的屬性值 if ( .Count !=0) for(int i=0。i .Count 。i++) { [i]= [i].Name。 [i]= [i].Value。 } else { textattr .Attrname [0]=null。 [0]=null 。 } } //遞歸加入所有的xml節(jié)點 addtreenode(nodearray1,treenodeback)。 } } //打開文件的函數(shù) private void popenfile(string filename) { (filename)。 //加入treeview1的根節(jié)點 ( .LocalName )。 Textattr textattr=new Textattr ()。 =textattr。 //加入節(jié)點的文本值 if ( .HasChildNodes ) foreach (XmlNode nodearray2 in ) {if(nodearray2 .NodeType == ) { += 。 } } //加入節(jié)點的屬性值 if ( .HasAttributes ) for(int i=0。i .Attributes .Count 。i++) { [i]= .Attributes [i].Name 。 [i]= .Attributes[i].Value 。 } = 。 //調(diào)用addtreenode函數(shù) addtreenode(, )。 } //將treeview結(jié)構(gòu)轉(zhuǎn)化為xml文檔 public void addxmlnode(TreeNode node,XmlNode xmlnodeparent) {foreach(TreeNode childnode in ) { XmlNode xmlnodeback。 XmlNode xmlnode= ( )。 xmlnodeback= (xmlnode) 。 //加入節(jié)點的文本值 if (((Textattr )).Text !=null) {XmlNode xmltextnode= (((Textattr ) ).Text )。 (xmltextnode)。 } //加入節(jié)點的屬性值 for(int i=0。((Textattr )).Attrname[i]!=null。i++) ((XmlElement )xmlnodeback).SetAttribute ((((Textattr ) ).Attrname [i]),(((Textattr )).Attrvalue [i]))。 //遞歸加入所有的treenode節(jié)點 addxmlnode(childnode,xmlnodeback)。 } } //保存文件的函數(shù) private void psavefile(string filename) { statusBarPanel1 .Text =保存文件。 ()。 TreeNode rootnode= 。 XmlNode xmlnode=()。 (xmlnode)。 //加入節(jié)點的文本值 if (((Textattr )).Text !=null) { XmlNode xmltextnode= (((Textattr ) ).Text )。 . AppendChild (xmltextnode)。 } //加入節(jié)點的屬性值 for(int i=0。((Textattr )).Attrname[i]!=null。i++) ((XmlElement ) ).SetAttribute ((((Textattr ) ).Attrname [i]),(((Textattr )).Attrvalue [i]))。 //調(diào)用addxmlnode函數(shù) addxmlnode(rootnode, )。 (filename)。 statusBarPanel1 .Text =null。 } //打開新文件前保存原文件 public void beforenewfile(object sender, e) {if (changed) { MessageBoxButtons buttons = 。 DialogResult result=new DialogResult() 。 // Displays the MessageBox. result=(是否將改動保存到文件,警告, buttons, , MessageBoxDefaultButton. Button1,)。 if (result ==) { savefile_Click(sender,e)。 } changed=false。 } } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //文件命令開始 //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //建立新文件 private void newfile_Click(object sender, e) { //清除treeview中的所有節(jié)點 .Clear()。 =xml編輯器。 =false。 } //打開文件 private void openfile_Click(object sender, e) { bool canceled。 beforenewfile(sender,e)。 =。 ()。 if (==) canceled=true。 else
點擊復制文檔內(nèi)容
職業(yè)教育相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1