
不是,使用GetItemText取得节点文本,将文本传入修改信息对话框,修改后,将修改后的字符串设置到原来的节点,使用SetItemText函数,示例如下:
m_wndTree为树控件变量;
CTextDialog 为修改文本的对话框,这个根据你的实际情况确定。
void ModifyItemText()
{
HTREEITEM hItem = m_wndTreeGetSelectedItem();
if (hItem == NULL)
return;
CString sText = GetItemText(hItem);
CTextDialog dlg;
dlgm_sText = sText;
if (dlgDoModal() != IDOK)
return;
sText = dlgm_sText;
m_wndTreeSetItemText(hItem, sText);
}
使用jQuery框架 *** 作HTML DOM是一件极其便捷的事情,如下 *** 作即可获取相应节点的数据,id和名字(下文中引用“$(this)”表示一个jQuery对象):
获取节点标签内容数据: $(this)html( )
获取表单组件中的值: $(this)val()
获取节点中的文本内容(例如textarea): $(this)text()
获取节点的id: $(this)attr("id")
获取节点的名字: $(this)attr("name")
C# *** 作XML 有以下几种方式:
1:使用XmlDocument相关类库和方法 *** 作xml
2:使用XDocument相关类库和方法 *** 作xml
3:使用XmlReader和XmlWriter相关类库和方法 *** 作xml
获得指定节点的值也需要 分为属性和元素
1:使用XmlDocument
XmlDocument doc = new XmlDocument();
docLoad("Customer2xml");
// XmlNodeList nodeList = docGetElementsByTagName("row");
XmlNodeList nodeList = docSelectNodes("/Table/row");
//读取属性+元素
foreach (XmlNode item in nodeList)
{
customerInfoAppId = itemAttributes["AppID"]Value;
customerInfoCustomerID = item["CustomerID"]InnerText;
}
2:使用XDocument
XDocument xdoc = XDocumentLoad("Customer2xml");
var custs = from customer in xdocDescendants("row")
select new
{//读取属性+元素
Version = customerAttribute("Version")Value,
CustomerID = customerElement("CustomerID")Value,
};
3:使用XmlReader
XmlReader reader = XmlReaderCreate("Customer2xml", settings);
//读取属性
while (readerRead())
{
if (readerNodeType == XmlNodeTypeElement)
{
switch (readerName)
{
case "row":
customerInfo = new CustomerInfo();
if (readerHasAttributes)
{
customerInfoAppId = readerGetAttribute("AppID");
customerInfoVersion = readerGetAttribute("Version");
}
break;
case "CustomerID":
customerInfoCustomerID = readerReadString();
break;
}
}
你的是winform程序吗?
如果是的话,
就用treeView1 Nodes[0]Text
子节点的话就用treeView1Nodes[0]Nodes[0]Text
表示第一个父节点的的第一个子节点哈
你那个文本是TextWithNodes中的文本,不是node的文本,所以你要用TextWithNodes元素来获取。
demo实例:
SAXReader saxReader=new SAXReader();
Document document=saxReaderread(TestclassgetClassLoader()
getResourceAsStream("testxml"));
for (Iterator iterator = documentselectNodes("//TextWithNodes")iterator(); iteratorhasNext();) {
Element element=(Element) iteratornext();
Systemoutprintln(elementgetText());;
}
这样可能有一个小问题,就是将制表符(换行)也算成了TextWithNodes的文本了,你可以先定位到<node id=1>和<node id=2>,再来获取
这个定位,应该是程序代码来实现,不是用dom4j(自己写判断语句吧,目测)
好久没有dom4j了,有点忘了。
自己百度下dom4j,看官方API和quick start,就行。
以上就是关于高手救我~~~TreeCtrl中如何获取节点文本信息并修改保存全部的内容,包括:高手救我~~~TreeCtrl中如何获取节点文本信息并修改保存、jquery中如何获取树的节点的数据、id或名字、C# *** 作XML,如何获取指定节点值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)