DOM(DocumentObjectModel)即文档对象模型,针对HTML和XML文档的API(应用程序接口)。
DOM描绘了一个层次化的节点树,运行开发人员添加、移除和修改页面的某一部分。
DOM脱胎于Netscape及微软公司创始的DHTML(动态HTML),但现在它已经成为表现和操作页面标记的真正跨平台、语言中立的方式。
1.节点加载HTML页面时,Web浏览器生成一个树型结构,用来表示页面内部结构。
DOM将这种树型结构理解为由节点组成。
我们理解几个概念,html标签没有父辈,没有兄弟,所以html标签为根标签。
head标签是html子标签,meta和title标签之间是兄弟关系。
宁夏电脑培训http://www.kmbdqn.cn/认为如果把每个标签当作一个节点的话,那么这些节点组合成了一棵节点树。
2.节点种类:元素节点、文本节点、属性节点。
try{String sb ="<person id='1' sex='m'><name>zhangsan</name><age>32</age><adds><add id='home'>home</add><add id='come'>come</add></adds></person>"
Document xmlDoc = null
// 字符串转换为Document对象
xmlDoc = DocumentHelper.parseText(sb.trim())
// 获取所有的XML节点
Element rootElt = xmlDoc.getRootElement()
// 获取XMl几点的集合
List<?>attrList = rootElt.elements()
// 循环获取
for (int i = 0i <attrList.size()i++)
{
Element item = (Element) attrList.get(i)
if ("adds".equals(item.getQualifiedName()))
{
String chilstr = item.asXML()
Document childDoc = null
childDoc = DocumentHelper.parseText(chilstr.trim())
Element root = childDoc.getRootElement()
List<?>childList = root.elements()
for (int y = 0y <childList.size()y++)
{
// 子节点的操作
Element it = (Element) childList.get(y)
System.out.println(it.getStringValue())
}
}
}
}catch (Exception e)
{
e.printStackTrace()
}