delphi TreeView怎样知道选的是子节点 ,并得到它子节点的TEXT

delphi TreeView怎样知道选的是子节点 ,并得到它子节点的TEXT,第1张

获取 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的 *** 作方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存