高手救我~~~TreeCtrl中如何获取节点文本信息并修改保存

高手救我~~~TreeCtrl中如何获取节点文本信息并修改保存,第1张

不是,使用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,如何获取指定节点值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9539053.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存