
获取 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节点元素值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)