怎么获取到ztree上的所有节点

怎么获取到ztree上的所有节点,第1张

获取 id 为 tree 的 zTree 对象

var treeObj = $fnzTreegetZTreeObj("tree");

获取全部节点数据

var treeObj = $fnzTreegetZTreeObj("tree");

var nodes = treeObjgetNodes();

for(var i=0;i<nodeslength;i++){

alert(nodes[i]id); //获取每个节点的id

}

获取当前被勾选的节点集合

var treeObj = $fnzTreegetZTreeObj("tree");

var nodes = treeObjgetCheckedNodes(true);

for(var i=0;i<nodeslength;i++){

alert(nodes[i]id); //获取每个节点的id

}

获取当前被选中的节点数据集合

var treeObj = $fnzTreegetZTreeObj("tree");

var nodes = treeObjgetSelectedNodes();

for(var i=0;i<nodeslength;i++){

alert(nodes[i]id); //获取每个节点的id

}

$fnzTreeinit($("#treeDemo"), setting, zNodes);

zTree = $fnzTreegetZTreeObj("treeDemo");

var nodes=zTreegetNodes();

var nodes_array = zTreetransformToArray (nodes);

for(var i=0;i<nodes_arraylength;i++){

alert(nodes_array[i]name);

}

//下面是api,自己不会看么,zTreeObjgetNodes是所有节点数据都在里面,自己不会取,就不要瞎叫唤,自己可以用火狐看里面的数据是不是都有

zTreeObjgetNodes

概述[ 依赖 jqueryztreecore 核心 js ]

获取 zTree 的全部节点数据

请通过 zTree 对象执行此方法。

Function 参数说明

返回值Array(JSON)

全部节点数据

1、Array 仅仅是根节点的集合(默认情况子节点都处于 children 属性下);

2、如需遍历全部节点需要利用递归,或利用 transformToArray 方法 将数据变成简单的 Array 集合

3、对于异步加载模式下,尚未加载的子节点是无法通过此方法获取的。

function 举例

1 获取全部节点数据

var treeObj = $fnzTreegetZTreeObj("tree");

var nodes = treeObjgetNodes();

java读取xml节点元素,主要使用java提供的解析xml的工具类SAXParserFactory,如下代码:

package xmlxmlreader;

import javaioFile;

import javanetURL;

import javautilProperties;

import javaxxmlparsersSAXParser;

import javaxxmlparsersSAXParserFactory;

public class CFGParser {//解析xml文件的工具类

    private Properties props;

    public Properties getProps() {

        return props;

    }

    public void setProps(Properties props) {

        thisprops = props;

    }

    public void parse(String filename) throws Exception

    {

        CFGHandler handler = new CFGHandler();

        SAXParserFactory factory = SAXParserFactorynewInstance();

        factorysetNamespaceAware(false);

        factorysetValidating(false);

        SAXParser parser = factorynewSAXParser();

        URL confURL = supergetClass()getClassLoader()getResource(filename);

        if (confURL == null) {

            Systemoutprintln("Can't find configration file");

            return;

        }

        try

        {

            parserparse(confURLtoString(), handler);

            thisprops = handlergetProps();

        }

        finally {

            factory = null;

            parser = null;

            handler = null;

        }

    }

    public void parseFile(String filename)

    throws Exception

    {

        CFGHandler handler = new CFGHandler();

        SAXParserFactory factory = SAXParserFactorynewInstance();

        factorysetNamespaceAware(false);

        factorysetValidating(false);

        SAXParser parser = factorynewSAXParser();

        File f = new File(filename);

        if ((f == null) || (!fexists()))

            return;

        try

        {

            parserparse(f, handler);

            thisprops = handlergetProps();

        }

        finally {

            factory = null;

            parser = null;

            handler = null;

        }

    }

}

package xmlxmlreader;

import javautilProperties;

import orgxmlsaxAttributes;

import orgxmlsaxSAXException;

import orgxmlsaxhelpersDefaultHandler;

public class CFGHandler extends DefaultHandler

{

  private Properties props;

  private String currentSet;

  private String currentName;

  private StringBuffer currentValue = new StringBuffer();

  public CFGHandler()

  {

    thisprops = new Properties();

  }

  public Properties getProps() {

    return thisprops;

  }

  public void startElement(String uri, String localName, String qName, Attributes attributes)

    throws SAXException

  {

    thiscurrentValuedelete(0, thiscurrentValuelength());

    thiscurrentName = qName;

  }

  public void characters(char[] ch, int start, int length) throws SAXException

  {

    thiscurrentValueappend(ch, start, length);

  }

  public void endElement(String uri, String localName, String qName)

    throws SAXException

  {

    thispropsput(qNametoLowerCase(), thiscurrentValuetoString()trim());

  }

}

xml文件

<xml version="10" encoding="UTF-8">

<xml-body>

        <refresh_userlist desc="用户列表刷新间隔时间(秒)">6</refresh_userlist>

        <refresh_message desc="短消息刷新间隔时间(秒)">10</refresh_message>

        <morningbegin desc="上午上班时间">23:00</morningbegin>

        <morningend desc="上午下班时间">12:00</morningend>

        <afternoonbegin desc="下午上班时间">18:00</afternoonbegin>

</xml-body>

jsp获取各个节点的值:

<%@ page language="java" import="javautil" pageEncoding="UTF-8"%>

<html>

    <jsp:useBean id="cfgp" scope="page" class="xmlxmlreaderCFGParser"></jsp:useBean>

    <body>

        <%

   cfgpparse("kaoqinxml");

   Properties pro = cfgpgetProps();

   String stTime = progetProperty("morningbegin");

   String edTime = progetProperty("morningend");

    String afternoonbegin = progetProperty("afternoonbegin");

   

   outprintln(stTime+"\n"+edTime+"\n"+afternoonbegin);

   Systemoutprintln(stTime+"\n"+edTime+"\n"+afternoonbegin);

    %>

    </body>

</html>

/// <summary>

/// XmlDocument扩展类

///

/// 目的:用于优化和减少代码书写量

/// 备注:Element 译为:元素

/// Document 译为:文档

/// Node 译为:节点

/// </summary>

public class XmlDocumentExtender : XmlDocument

{

public XmlDocumentExtender()

: base()

{

}

#region 扩展的构造函数

#if NET1

public XmlDocumentExtender(XmlNameTable nt)

: base(new XmlImplementation())

{

}

#else

public XmlDocumentExtender(XmlNameTable nt)

: base(new XmlImplementation(nt))

{

}

#endif

#endregion

/// <summary>

/// 加载的文件名(含路径)

/// </summary>

/// <param name="filename"></param>

public override void Load(string filename)

{

if (MauniteCommonFileUtilsFileExists(filename))

{

baseLoad(filename);

}

else

{

throw new Exception("文件: " + filename + " 不存在!");

}

}

/// <summary>

/// 在指定的Xml元素下,添加子Xml元素

/// </summary>

/// <param name="xmlElement">被追加子元素的Xml元素</param>

/// <param name="childElementName">要添加的Xml元素名称</param>

/// <param name="childElementValue">要添加的Xml元素值</param>

/// <returns></returns>

public bool AppendChildElementByNameValue(ref XmlElement xmlElement, string childElementName, object childElementValue)

{

return AppendChildElementByNameValue(ref xmlElement, childElementName, childElementValue, false);

}

/// <summary>

/// 在指定的Xml元素下,添加子Xml元素

/// </summary>

/// <param name="xmlElement">被追加子元素的Xml元素</param>

/// <param name="childElementName">要添加的Xml元素名称</param>

/// <param name="childElementValue">要添加的Xml元素值</param>

/// <param name="IsCDataSection">是否是CDataSection类型的子元素</param>

/// <returns></returns>

public bool AppendChildElementByNameValue(ref XmlElement xmlElement, string childElementName, object childElementValue, bool IsCDataSection)

{

if ((xmlElement != null) && (xmlElementOwnerDocument != null))

{

//是否是CData类型Xml元素

if (IsCDataSection)

{

XmlCDataSection tempdata = xmlElementOwnerDocumentCreateCDataSection(childElementName);

tempdataInnerText = FiltrateControlCharacter(childElementValueToString());

XmlElement childXmlElement = xmlElementOwnerDocumentCreateElement(childElementName);

childXmlElementAppendChild(tempdata);

xmlElementAppendChild(childXmlElement);

}

else

{

XmlElement childXmlElement = xmlElementOwnerDocumentCreateElement(childElementName);

childXmlElementInnerText = FiltrateControlCharacter(childElementValueToString());

xmlElementAppendChild(childXmlElement);

}

return true;

}

else

{

return false;

}

}

/// <summary>

/// 在指定的Xml结点下,添加子Xml元素

/// </summary>

/// <param name="xmlElement">被追加子元素的Xml节点</param>

/// <param name="childElementName">要添加的Xml元素名称</param>

/// <param name="childElementValue">要添加的Xml元素值</param>

/// <returns></returns>

public bool AppendChildElementByNameValue(ref XmlNode xmlNode, string childElementName, object childElementValue)

{

return AppendChildElementByNameValue(ref xmlNode, childElementName, childElementValue, false);

}

/// <summary>

/// 在指定的Xml结点下,添加子Xml元素

/// </summary>

/// <param name="xmlElement">被追加子元素的Xml节点</param>

/// <param name="childElementName">要添加的Xml元素名称</param>

/// <param name="childElementValue">要添加的Xml元素值</param>

/// <param name="IsCDataSection">是否是CDataSection类型的子元素</param>

/// <returns></returns>

public bool AppendChildElementByNameValue(ref XmlNode xmlNode, string childElementName, object childElementValue, bool IsCDataSection)

{

if ((xmlNode != null) && (xmlNodeOwnerDocument != null))

{

//是否是CData类型Xml结点

if (IsCDataSection)

{

XmlCDataSection tempdata = xmlNodeOwnerDocumentCreateCDataSection(childElementName);

tempdataInnerText = FiltrateControlCharacter(childElementValueToString());

XmlElement childXmlElement = xmlNodeOwnerDocumentCreateElement(childElementName);

childXmlElementAppendChild(tempdata);

xmlNodeAppendChild(childXmlElement);

}

else

{

XmlElement childXmlElement = xmlNodeOwnerDocumentCreateElement(childElementName);

childXmlElementInnerText = FiltrateControlCharacter(childElementValueToString());

xmlNodeAppendChild(childXmlElement);

}

return true;

}

else

{

return false;

}

}

/// <summary>

/// 通过数据行向当前XML元素下追加子元素

/// </summary>

/// <param name="xmlElement">被追加子元素的Xml元素</param>

/// <param name="dcc">当前数据表中的列集合</param>

/// <param name="dr">当前行数据</param>

/// <returns></returns>

public bool AppendChildElementByDataRow(ref XmlElement xmlElement, DataColumnCollection dcc, DataRow dr)

{

return AppendChildElementByDataRow(ref xmlElement, dcc, dr, null);

}

/// <summary>

/// 通过数据行向当前XML元素下追加子元素

/// </summary>

/// <param name="xmlElement">被追加子元素的Xml元素</param>

/// <param name="dcc">当前数据表中的列集合</param>

/// <param name="dr">当前行数据</param>

/// <param name="removecols">不会被追加的列名</param>

/// <returns></returns>

public bool AppendChildElementByDataRow(ref XmlElement xmlElement, DataColumnCollection dcc, DataRow dr, string removecols)

{

if((xmlElement != null)&&(xmlElementOwnerDocument != null))

{

foreach (DataColumn dc in dcc)

{

if ((removecols == null) ||

(removecols == "") ||

(("," + removecols + ",")ToLower()IndexOf("," + dcCaptionToLower() + ",") < 0))

{

XmlElement tempElement = xmlElementOwnerDocumentCreateElement(dcCaption);

tempElementInnerText = FiltrateControlCharacter(dr[dcCaption]ToString()Trim());

xmlElementAppendChild(tempElement);

}

}

return true;

}

else

{

return false;

}

}

/// <summary>

/// 实始化节点, 当节点存在则清除当前路径下的所有子结点, 如不存在则直接创建该结点

/// </summary>

/// <param name="xmlpath"></param>

/// <returns></returns>

public XmlNode InitializeNode(string xmlpath)

{

XmlNode xmlNode = thisSelectSingleNode(xmlpath);

if (xmlNode != null)

{

xmlNodeRemoveAll();

}

else

{

xmlNode = CreateNode(xmlpath);

}

return xmlNode;

}

/// <summary>

/// 删除指定路径下面的所有子结点和自身

/// </summary>

/// <param name="xmlpath">指定路径</param>

public void RemoveNodeAndChildNode(string xmlpath)

{

XmlNodeList xmlNodeList = thisSelectNodes(xmlpath);

if (xmlNodeListCount > 0)

{

foreach (XmlNode xn in xmlNodeList)

{

xnRemoveAll();

xnParentNodeRemoveChild(xn);

}

}

}

/// <summary>

/// 创建指定路径下的节点

/// </summary>

/// <param name="xmlpath">节点路径</param>

/// <returns></returns>

public XmlNode CreateNode(string xmlpath)

{

string[] xpathArray = xmlpathSplit('/');

string root = "";

XmlNode parentNode = this;

//建立相关节点

for (int i = 1; i < xpathArrayLength; i++)

{

XmlNode node = thisSelectSingleNode(root + "/" + xpathArray[i]);

// 如果当前路径不存在则建立,否则设置当前路径到它的子路径上

if (node == null)

{

XmlElement newElement = thisCreateElement(xpathArray[i]);

parentNodeAppendChild(newElement);

}

//设置低一级的路径

root = root + "/" + xpathArray[i];

parentNode = thisSelectSingleNode(root);

}

return parentNode;

}

/// <summary>

/// 得到指定路径的节点值

/// </summary>

/// <param name="xmlnode">要查找节点</param>

/// <param name="path">指定路径</param>

/// <returns></returns>

public string GetSingleNodeValue(XmlNode xmlnode, string path)

{

if (xmlnode == null)

{

return null;

}

if (xmlnodeSelectSingleNode(path) != null)

{

if (xmlnodeSelectSingleNode(path)LastChild != null)

{

return xmlnodeSelectSingleNode(path)LastChildValue;

}

else

{

return "";

}

}

return null;

}

/// <summary>

/// 过滤控制字符,包括0x00 - 0x08,0x0b - 0x0c,0x0e - 0x1f

/// </summary>

/// <param name="content">要过滤的内容</param>

/// <returns>过滤后的内容</returns>

private string FiltrateControlCharacter(string content)

{

return RegexReplace(content, "[\x00-\x08|\x0b-\x0c|\x0e-\x1f]", "");

}

}

以上就是关于怎么获取到ztree上的所有节点全部的内容,包括:怎么获取到ztree上的所有节点、ztree中如何获取所有节点、java如何读取xml节点元素值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存