狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频

當前位置:系統之家 > 技術開發教程 > 詳細頁面

創建可編輯的xml文檔(之4) 刪除、改名、插入設置

創建可編輯的xml文檔(之4) 刪除、改名、插入設置

更新時間:2024-04-12 文章作者:未知 信息來源:網絡 閱讀次數:

執行刪除、改名、插入操作
實現了拖放操作就已經完了最難的部分,但是出于完整性考慮,還應該提供一些更好的基本的編輯功能。下面僅僅用四行代碼就可以實現刪除操作:
[C#]
string xpath_query =
buildXPathQuery(this.SelectedNode);
System.Xml.XmlNode node =
xml_document.DocumentElement.SelectSingleNode(
xpath_query);
node.ParentNode.RemoveChild(node);
SelectedNode.Remove();



[VB]
Dim xpath_query As String = _
buildXPathQuery(Me.SelectedNode)
Dim node As System.Xml.XmlNode = _
xml_document.DocumentElement.SelectSingleNode( _
xpath_query)
node.ParentNode.RemoveChild(node)
SelectedNode.Remove()
重命名操作需要更多的一些考慮,你可以調用buildXPathQuery 去查找那個文件夾正在被編輯,還有如何確定是哪一個屬性,如何確定被顯示名稱相應的返回結構的元素或者子元素?這是一個誤導的問題,XPath filte函數已經被定義了,你只需應用現面的轉換就可以了:
[C#]
private void XmlTreeView_AfterLabelEdit(object sender,
System.Windows.Forms.NodeLabelEditEventArgs e)
{
string xpath_query = buildXPathQuery(e.Node);
System.Xml.XmlNode node =
xml_document.DocumentElement.SelectSingleNode(
xpath_query);
System.Xml.XmlNode label =
node.SelectSingleNode(xpath_filter);
label.Value = e.Label;
}



[VB]
Private Sub XmlTreeView_AfterLabelEdit( _
ByVal sender As Object, _
ByVal e As
System.Windows.Forms.NodeLabelEditEventArgs) _
Handles MyBase.AfterLabelEdit

Dim xpath_query As String = buildXPathQuery(e.Node)
Dim node As System.Xml.XmlNode = _
xml_document.DocumentElement.SelectSingleNode( _
xpath_query)
Dim label As System.Xml.XmlNode =
node.SelectSingleNode(xpath_filter)
label.Value = e.Label
End Sub
最后一個挑戰就是如何按照需求創建一個新的文件夾。query filter 允許用戶用一組文件夾而不是xml元素操作xml文檔。這樣對你想在那些文件夾周圍進行移動很有幫助的,而且它還可以告訴在哪里插入一個文件夾,但是它不能告訴你這個文件夾應該包含什么東西,你應該猜測文檔中的所有文件夾是否含有相同的結構或者內容。但是我們的目標是創建一個不需要任何預定的顯示xml 方法。因此,我選擇將這些怎人委托給應用程序控制。例如,客戶端代碼可以下面這樣寫:
[C#]
System.Xml.XmlDocument insert_fragment =
new System.Xml.XmlDocument();
insert_fragment.LoadXml(
"<product id='New Item'>" +
"<description/><ordercode/><price/>" +
"<image/></product>");

// The TreeView uses XmlInsertionNode to add
// a new folder to the tree's underlying XML
// document on request
xmlTreeView1.XmlInsertionNode =
insert_fragment.DocumentElement;



[VB]
Dim insert_fragment As New System.Xml.XmlDocument()
insert_fragment.LoadXml(" & _
"<product id='New Item'>" & _
"<description/><ordercode/>"<price/>" & _
"<image/></product>")
xmlTreeView1.XmlInsertionNode = _
insert_fragment.DocumentElement
treeview 控件可以緩存一個結構的副本,將它作為一個臨時變量來創建一個新的文件夾集合。你所要做的僅僅是確保被定義得文件夾可以被filter query 識別,否則treeview 將不能顯示它。因為對于我們操作的文檔,xml通常是外部的(external)。在我使用它之前需要導入到文檔中


[C#]
// First you need to clone the node template, and
// import it, because it originates from a different
// document
System.Xml.XmlNode copy_node = new_node.Clone();
System.Xml.XmlNode insert_node =
xml_document.ImportNode(copy_node, true);

// Next locate which node should be its parent, and
// insert it
string xpath_query =
buildXPathQuery(this.SelectedNode);
System.Xml.XmlNode node =
xml_document.DocumentElement.SelectSingleNode(
xpath_query);
node.AppendChild(insert_node);

// Finally, apply the xpath filter to determine what
// to display
System.Xml.XmlNode expr =
insert_node.SelectSingleNode(xpath_filter);
System.Windows.Forms.TreeNode new_child =
SelectedNode.Nodes.Add(expr.Value);
populateTreeControl(insert_node, new_child.Nodes);

// Select the node, to force the tree to expand
SelectedNode = new_child;

// And start editing the new folder name
suppress_label_edit = false;
new_child.BeginEdit();



[VB]
' First you need to clone the node template, and
' import it, because it originates from a different
' document.
Dim copy_node As System.Xml.XmlNode = new_node.Clone()
Dim insert_node As System.Xml.XmlNode = _
xml_document.ImportNode(copy_node, True)

' Next locate which node should be its parent,
' and insert it
Dim xpath_query As String = _
buildXPathQuery(Me.SelectedNode)
Dim node As System.Xml.XmlNode =
xml_document.DocumentElement.SelectSingleNode( _
xpath_query)
node.AppendChild(insert_node)

' Finally, apply the xpath filter to determine what
' should be
' displayed
Dim expr As System.Xml.XmlNode = _
insert_node.SelectSingleNode(xpath_filter)
Dim new_child As System.Windows.Forms.TreeNode = _
SelectedNode.Nodes.Add(expr.Value)
populateTreeControl(insert_node, new_child.Nodes)

' Select the node, to force the tree to expand
SelectedNode = new_child

' And start editing the new folder name
suppress_label_edit = False
new_child.BeginEdit()

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

狠狠爱成人网_日韩一级在线_国产综合自拍_亚洲精品韩国_亚洲视频导航_麻豆成人在线播放_欧美jjzz_一区在线视频观看_美脚丝袜一区二区三区在线观看_欧美91视频
久久久精品免费免费| 亚洲影院免费观看| 青娱乐精品视频| 亚洲一二三区在线| 久久婷婷综合激情| 国产精品一二三区在线| 国产精品分类| 欧美一区二区三区白人| 美女一区二区视频| 欧美亚洲免费| 亚洲国产视频网站| 国产精品一区二区三区观看| 中文字幕电影一区| 九色综合国产一区二区三区| 免费久久久一本精品久久区| 亚洲一区二区三区在线播放| 91在线看国产| 国产精品免费看片| 欧美视频1区| 国产欧美一区二区精品仙草咪| av影院午夜一区| 国产亚洲女人久久久久毛片| 成人激情av网| 中文成人av在线| 亚洲国产三级| 亚洲精选在线视频| 久久一区亚洲| 韩国三级电影一区二区| 欧美激情综合在线| 色综合天天做天天爱| 国产精品美女一区二区在线观看| 国产一区二区免费看| 在线不卡欧美精品一区二区三区| 国产69精品久久久久毛片| 亚洲精品在线观看网站| 一区二区久久| 成人精品一区二区三区中文字幕| 一区二区三区电影在线播| 911国产精品| 亚洲看片一区| 91丨国产丨九色丨pron| 美国av一区二区| 国产精品二三区| 精品美女被调教视频大全网站| 久久精品国产99精品国产亚洲性色| 国产91露脸合集magnet | 欧美三级日韩三级国产三级| 夜夜精品视频| 欧美女激情福利| 国产精品激情偷乱一区二区∴| 亚洲视频导航| 色综合色综合色综合| 精品一区二区在线免费观看| 亚洲欧美日韩精品久久久久| 6080午夜不卡| 日韩午夜电影av| 久久久久久黄| 激情成人亚洲| 午夜精品久久99蜜桃的功能介绍| 蜜臀av一区二区三区| 亚洲成人tv网| 一区二区三区中文在线| 国产精品女同一区二区三区| 欧美久久久久久久久久| 欧美日韩黄色一区二区| 一本久道久久综合中文字幕| 9国产精品视频| 精品二区久久| 亚洲国产日韩欧美| av成人激情| 亚洲伊人观看| 色综合久久88色综合天天| 色婷婷亚洲精品| 欧美色网站导航| 欧美色图激情小说| 91精品国产综合久久福利| 欧美最猛性xxxxx直播| 久久激情中文| 日韩视频免费观看高清在线视频| 日韩视频在线一区二区| 日韩一二三区不卡| 久久久亚洲国产美女国产盗摄| 日韩欧美高清dvd碟片| 精品国产一区二区三区不卡| 国产精品人人做人人爽人人添| 中文字幕一区日韩精品欧美| 一区二区三区在线观看欧美| 麻豆专区一区二区三区四区五区| 狠狠色丁香久久婷婷综合_中| 成人午夜视频网站| 亚洲国产日韩欧美| 色婷婷综合久久久中文字幕| 欧美一区二区黄色| 亚洲欧美在线aaa| 久国产精品韩国三级视频| 91麻豆123| 欧美亚洲网站| 精品国产髙清在线看国产毛片| 一区二区三区四区国产精品| 黄页视频在线91| 91久久精品国产91久久性色tv| 欧美日韩一区视频| 中文字幕一区二区不卡| 国产精品一区在线观看你懂的| 精品91在线| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 精品日韩一区二区三区| 亚洲第一主播视频| 久久综合五月| 日本不卡123| 在线观看免费一区| 爽好多水快深点欧美视频| 在线成人www免费观看视频| 日本一区二区综合亚洲| 白白色 亚洲乱淫| 精品国产91九色蝌蚪| 色综合天天性综合| 国产精品视频yy9299一区| 国产a区久久久| 91精品视频网| 99精品视频一区二区三区| 欧美亚洲国产一卡| 精彩视频一区二区| 欧美日韩精品欧美日韩精品一 | 91色porny| 中文字幕一区免费在线观看| 国产精品一区免费观看| 中文av一区二区| 亚洲黄页一区| 日韩精品一区第一页| 欧美日韩精品一区二区三区四区| 国产乱码一区二区三区| 久久久久99精品国产片| 欧美系列一区| 一区二区三区色| 久久久成人网| 国产成人av一区二区| 日本一区二区不卡视频| 99视频精品免费观看| 午夜精品久久久久久久99水蜜桃| 色猫猫国产区一区二在线视频| 国产麻豆午夜三级精品| 国产精品乱码妇女bbbb| 国产精品一区二区三区四区五区 | 亚洲成人综合在线| 91精品免费在线| 狠狠综合久久av一区二区老牛| 国产在线播放一区二区三区| 国产午夜亚洲精品午夜鲁丝片| 久久综合伊人| 国产精品视频| 国产精品v欧美精品v日韩精品| 亚洲视频香蕉人妖| 欧美一区二区三区四区五区| 一区二区三区三区在线| 国产精品18久久久久久久久久久久 | 久久久午夜精品理论片中文字幕| 91成人免费在线视频| 影音先锋中文字幕一区| aa级大片欧美| 国产乱码一区二区三区| 欧美一区1区三区3区公司| 美女视频第一区二区三区免费观看网站| 精品福利一二区| 欧美日本在线看| 久久尤物视频| 欧美一级视频| 亚洲欧洲一级| 亚洲午夜高清视频| 欧美激情第六页| 成人天堂资源www在线| 久久精品国产秦先生| 日韩成人一区二区| 日韩制服丝袜先锋影音| 午夜久久福利影院| 亚洲精品国产精品乱码不99| 亚洲视频一区在线观看| 国产日韩欧美综合一区| 精品久久久久久久久久久院品网 | 男女精品网站| 另类天堂av| 欧美亚洲另类激情小说| 欧美视频一区二区三区| 欧美午夜理伦三级在线观看| 欧美精品黑人性xxxx| 欧美一区二区久久| 国产偷国产偷精品高清尤物| 欧美国产一区在线| 久久理论电影网| 国产精品久久久久久久久晋中 | 日本乱码高清不卡字幕| 欧日韩精品视频| 中文字幕免费观看一区| 日本麻豆一区二区三区视频| 91亚洲资源网| 欧美最猛性xxxxx直播| 精品国产亚洲一区二区三区在线观看| 欧美二区在线| 在线国产精品一区| 日韩午夜电影av|