
注册节点双击事件
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (eNodeParent != null)
{
string name = eNodeParentName;//节点名称看
string text = eNodeParentText;//节点文本看
}
}
使用 XPath。
try (final FileReader reader = new FileReader("xpathexamplexml")){XPath xpath = XPathFactorynewInstance()newXPath();
String expression = "count(//content)";
InputSource source = new InputSource(reader);
Number count = (Number) xpathevaluate(expression, source, XPathConstantsNUMBER);
Systemoutprintln(countintValue());
} catch (final IOException | XPathExpressionException e) {
Systemerrprintln(egetMessage());
}
dom4j 可以使用 Document的selectSingleNode 返回null的就是没有
<PrimaryKey><Key Ref="o30"/></PrimaryKey>val node = docselectSingleNode("//PrimaryKey/Key/@R")node: orgdom4jNode = nullval node = docselectSingleNode("//PrimaryKey/Key/@Ref")
node: orgdom4jNode = orgdom4jtreeDefaultAttribute@151d52e [Attribute: name Ref value "o30"]
##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);
一,获取html元素
1getElementByID(id)
通过对元素的ID访问,这是DOM一个基础的访问页面元素的方法
example:
<div id="divid">测试</div>
<script language="javascript">
var div=documentgetElementByID("divid");
alert (divnodeName); //显示元素名
</script>
如果id在元素中不是唯一的,那么获得的将是第一个ID
2getElementsByName(name)
仅用于input radio checkbox等元素,返回名字为name的元素数组
example:
<div name="george"></div>
<input name="george"></div>
<script language=javascript>
var ge=documentgetElementsByName("george");
alert (georgeslength); //获取georges个数,对div唔效果
</script>
3getElementsByTagName(tagname)
返回具有tagname的元素列表数组处理大的DOM结构会用到它
二,DOM Element常用方法
1appendChild(node) //增加内容
向当前对象追加节点,example:
<div id="test">123</div>
<script type="text/javascript">
var newdiv=documentcreateElement("div");
var newtext=documentcreateTextNode("A new div");
newdivappendChild(newtext) ;
documentgetElementById("test")appendChild(newdiv) ;
</script>
当然,上面的功能用documentgetElementById("test")innerHTML="测试一下"就可实现,遗憾的是,innerHTML不属于DOM
2,removeChild(childreference)
移除当前节点的子节点,并返回节点
<div id="father"><div id="child">A child</div></div>
<script type="text/javascript">
var childnode=documentgetElementById("child");
var removednode=documentgetElementById("father")removeChild(childnode)
</script>
3cloneNode(deepBoolean)
复制并返回当前的复制节点,由于复制了原节点的id属性,所以在document树中要改ID属性,以确保ID唯一性
4,insertBefore(newElment,targetElement) 插入新的节点
在当前节点插入一个新节点,如果targetElement为null,那新节点为最后节点
example:
<body>
<span id="lovespan">熊掌我所欲也!</span>
</body>
<script type="text/javascript">
var lovespan=documentgetElementById("lovespan"); //获取id
var newspan=documentcreateElement("span");
var newspanref=documentbodyinsertBefore(newspan, lovespan);
newspanrefinnerHTML="鱼与";
</script>
三,DOM Element常用属性
1、childeNodes 返回所有子节点对象,
例如
<ul id="mylist">
<li>美国</li>
<li>意大利</li>
<li>加拿大</li>
</ul>
<script>
var msg="" ;
var mylist=documentgetElementById("mylist")
for (i=0; i<mylistchildNodeslength; i++){
var li=mylistchildNodes[i];
msg+=liinnerText;
}
alert (msg);
</script>
2,innerHTML
这是一个标准,但它并不书DOM
例如:
<div id="bbb"><span id="aaa">我拉</span></div>
<input type=button value="点击看看">
<script language="javascript">
function change()
{
documentgetElementById("aaa")innerHTML= "修改修改";
}
</script>
3,style
这是一个极其重要的属性,可以获取并修改每个单独的样式
例如:documentgetElementByTagName("body")[0]stylebackgroundColor="#cccccc"
4、firstChild 返回第一个子节点
lastChild 返回最后一个子节点
parentNode 返回父节点的对象。
nextSibling 返回下一个兄弟节点的对象
previousSibling 返回前一个兄弟节点的对象
nodeName 返回节点的HTML标记名称,使用英文的大写字母,如P, FONT
5,click()
执行元素的一次点击,可以用于通过脚本来触发onClick函数
import w c dom ;
import javax xml parsers ;
import java io ;
public class Parse{
//Document可以看作是XML在内存中的一个镜像 那么一旦获取这个Document 就意味着可以通过对
//内存的 *** 作来实现对XML的 *** 作 首先第一步获取XML相关的Document
private Document doc=null;
public void init(String xmlFile) throws Exception{
//很明显该类是一个单例 先获取产生DocumentBuilder工厂
//的工厂 在通过这个工厂产生一个DocumentBuilder
//DocumentBuilder就是用来产生Document的
DocumentBuilderFactory dbf=DocumentBuilderFactory newInstance();
DocumentBuilder db=dbf newDocumentBuilder();
//这个Document就是一个XML文件在内存中的镜像
doc=db parse(new File(xmlFile));
}
//该方法负责把XML文件的内容显示出来
public void viewXML(String xmlFile) throws Exception{
this init(xmlFile);
//在xml文件里 只有一个根元素 先把根元素拿出来看看
Element element=doc getDocumentElement();
System out println( 根元素为: +element getTagName());
NodeList nodeList=doc getElementsByTagName( dbstore );
System out println( dbstore节点链的长度: +nodeList getLength());
Node fatherNode=em( );
System out println( 父节点为: +fatherNode getNodeName());
//把父节点的属性拿出来
NamedNodeMap attributes=fatherNode getAttributes();
for(int i= ;i<attributes getLength();i++){
Node attribute=em(i);
System out println( dbstore的属性名为: +attribute getNodeName()+ 相对应的属性值为: +attribute getNodeValue());
}
NodeList childNodes = fatherNode getChildNodes();
System out println(childNodes getLength());
for(int j= ;j<childNodes getLength();j++){
Node childNode=em(j);
//如果这个节点属于Element 再进行取值
if(childNode instanceof Element){
//System out println( 子节点名为: +childNode getNodeName()+ 相对应的值为 +childNode getFirstChild() getNodeValue());
System out println( 子节点名为: +childNode getNodeName()+ 相对应的值为 +childNode getFirstChild() getNodeValue());
}
}
}
public static void main(String[] args)throws Exception{
Parse parse=new Parse();
//我的XML文件
parse viewXML( netct xml );
}
lishixinzhi/Article/program/Java/hx/201311/26710
以上就是关于ElementUI tree控件怎么通过子节点去找到父节点全部的内容,包括:ElementUI tree控件怎么通过子节点去找到父节点、java Document里判断XML文件中有无此节点、常用的dom的 *** 作方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)