
获取 TreeView 控件当前选中节点是否是子节点,可以通过节点(TTreeNode)的 Parent 属性成员,如果有 Parent ,则说明当前节点是子节点。
获取节点的 Text,可以直接访问节点(TTreeNode)的 Text 属性。
示例代码如下:
procedure TForm1btn1Click(Sender: TObject);var CurItem: TTreeNode;
begin
CurItem := tv1Selected;
if CurItem <> nil then
begin
if CurItemParent<>nil then
ShowMessage('当前选中了子节点, 内容:' + CurItemText)
else
ShowMessage('当前选中了父节点, 内容:' + CurItemText)
end;
end;
代码运行截图:
使用xpath,假如你的XML文件是:
<xml version="10" encoding="utf-8"><resources>
<string id="child">
<string id="child-child">
</string>
</string>
</resources>
那么可以通过如下方式获取子节点:
import javaioFile;import javautilList;
import orgdom4jAttribute;
import orgdom4jDocument;
import orgdom4jDocumentException;
import orgdom4jElement;
import orgdom4jioSAXReader;
/
@author xi
@since Aug 13, 2014
/
public class XMLSearch {
public static void main(final String[] args) {
final String xmlPath = "/testxml";
//
// read
final SAXReader reader = new SAXReader();
Document doc;
try {
doc = readerread(new File(xmlPath));
} catch (final DocumentException e) {
eprintStackTrace();
return;
}
//
// search and remove element
final List<> lst = docselectNodes("/resources/string");
if (lstsize() == 1) {
final Element elem = (Element) lstget(0);
final Attribute attr = elemattribute("id");
if (attr != null) {
final String id = attrgetText();
Systemoutprintf("found node, id = %s\n", id);
}
} else {
Systemoutprintln("cannot find node");
}
return;
}
}
##1访问/获取节点
documentgetElementById(id); //返回对拥有指定id的第一个对象进行访问
documentgetElementsByName(name);//返回带有指定名称的节点集合 注意拼写:Elements
documentgetElementsByTagName(tagname);//返回带有指定标签名的对象集合 注意拼写:Elements
documentgetElementsByClassName(classname); //返回带有指定class名称的对象集合 注意拼写:Elements
##2创建节点/属性
documentcreateElement(eName);//创建一个节点
documentcreateAttribute(attrName); //对某个节点创建属性
documentcreateTextNode(text); //创建文本节点
##3添加节点
documentinsertBefore(newNode,referenceNode); //在某个节点前插入节点
parentNodeappendChild(newNode);//给某个节点添加子节点
##4复制节点
cloneNode(true | false);//复制某个节点 参数:是否复制原节点的所有属性
##5删除节点
parentNoderemoveChild(node);//删除某个节点的子节点 node是要删除的节点
注意:为了保证兼容性,要判断元素节点的节点类型(nodeType),若nodeType==1,再执行删除 *** 作。通过这个方法,就可以在 IE和 Mozilla 完成正确的 *** 作。
nodeType属性可返回节点的类型最重要的节点类型是:
元素类型节点类型
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9
##6修改文本节点
方法作用
appendData(data);将data加到文本节点后面
deleteData(start,length);将从start处删除length个字符
insertData(start,data);在start处插入字符,start的开始值是0;
replaceData(start,length,data);在start处用data替换length个字符
splitData(offset);在offset处分割文本节点
substringData(start,length);从start处提取length个字符
##7属性 *** 作
getAttribute(name)//通过属性名称获取某个节点属性的值
setAttribute(name,value); //修改某个节点属性的值
removeAttribute(name); //删除某个属性
##8查找节点
parentObjfirstChild;//如果节点为已知节点的第一个子节点就可以使用这个方法。此方法可以递归进行使用 parentObjfirstChildfirstChild
parentObjlastChild;//获得一个节点的最后一个节点,与firstChild一样也可以进行递归使用 parentObjlastChildlastChild
parentObjchildNodes; //获得节点的所有子节点,然后通过循环和索引找到目标节点
##9获取相邻的节点
curtNodepreviousSibling; //获取已知节点的相邻的上一个节点
curtNodenextSlbling; // 获取已知节点的下一个节点
##10获取父节点
childNodeparentNode;//得到已知节点的父节点
##11替换节点
replace(newNode,oldNode);
XmlDocument先把xml load进来。。
//取所有root节点子节点
XmlNodeList nodeList = docSelectNodes("/root");
for each(XmlNode node in nodeList) //遍历每一个子节点
{
//分别读取子节点的需要节点值,自己存吧,反正这么取的
string elementValue=nodeSelectSingleNode("//elementValue")InnerTextToString();
string elementScore=nodeSelectSingleNode("//elementScore")InnerTextToString();
}
以上就是关于delphi TreeView怎样知道选的是子节点 ,并得到它子节点的TEXT全部的内容,包括:delphi TreeView怎样知道选的是子节点 ,并得到它子节点的TEXT、dom4j java 子节点和孙子节点重名,如何只取子节点、常用的dom的 *** 作方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)