一.HTML
1.基本结构:
<html>
<head>
......
<head>
<body>
......
<body>
<html>
2.<html>为文档的根元素,所有描述都在其内部进行;
3.<head>为文档的头信息,其元素大多不会在浏览器上显示;
4.<body>为文档的征文,其信息会显示在浏览器上;
5.<head></head>中使用的标签:
(1)<title></title>显示的是浏览器的标题栏,<head>中只有该标签会显示到浏览器,其他则不会;
(2)<script></script>在该文档中要引用的脚本;
(3)<style></style>在该文档中要引用的CSS样式,以控制文档的格式;
二.XML
1.XML没有预定义,需要自定义标签;
三.XPath
1.基本的XPath语法类似于在一个文件系统中定位文件,若以“ / ”开始,表示到一个元素的绝对路径,如:
XML代码 | <AAA> <BBB/> <CCC/> <DDD/> <BBB/> <DDD/> <CCC/> </AAA> | |||||||
目标 | 选择根元素AAA | |||||||
XPath表达式 | /AAA | |||||||
| ||||||||
XML代码 | <AAA> <BBB/> <CCC/> <DDD/> <BBB/> <DDD/> <CCC/> </AAA> | |||||||
目标 | 选择AAA的子元素CCC | |||||||
XPath表达式 | /AAA/CCC | |||||||
| ||||||||
XML代码 | <AAA> <BBB/> <CCC/> <DDD/> <BBB/> <DDD/> <CCC/> </AAA> | |||||||
目标 | 选择AAA的子元素DDD的子元素BBB | |||||||
XPath表达式 | /AAA/DDD/BBB |
2.若以“ // ”开头,表示无论层级关系,选择文档中所有满足双斜线之后规则的元素,如:
XML代码 | <AAA> <BBB/> <CCC/> <BBB/> <DDD> <BBB/> </DDD> <CCC> <DDD> <BBB/> <BBB/> </DDD> </CCC> </AAA> | |||||||
目标 | 选择所有BBB元素 | |||||||
XPath表达式 | //BBB | |||||||
| ||||||||
XML代码 | <AAA> <BBB/> <CCC/> <BBB/> <DDD> <BBB/> </DDD> <CCC> <DDD> <BBB/> <BBB/> </DDD> </CCC> </AAA> | |||||||
目标 | 选择所有父元素为DDD的BBB元素 | |||||||
XPath表达式 | //DDD/BBB |
3.若以“ * ”表示所有由型号之前的路径所定位的元素,如:
XML代码 | <AAA> <CCC> <DDD> <BBB/> <BBB/> <EEE/> <FFF/> </DDD> </CCC> </AAA> | |||||||
目标 | 选择所有路径依附于/AAA/CCC/DDD的元素 | |||||||
XPath表达式 | //AAA/CCC/DDD/* | |||||||
| ||||||||
XML代码 | <AAA> <XXX> <DDD> <BBB/> <BBB/> <EEE/> </DDD> </XXX> <CCC> <BBB> <BBB> <BBB/> </BBB> </BBB> </CCC> </AAA> | |||||||
目标 | 选择所有的有3个祖先元素的BBB元素 | |||||||
XPath表达式 | /*/*/*/BBB | |||||||
| ||||||||
XML代码 | <AAA> <CCC> <DDD/> </CCC> </AAA> | |||||||
目标 | 选择所有元素 | |||||||
XPath表达式 | //* |
4.方括号中的表达式可进一步限定元素,其中数字表示在选择集中的位置,last()函数表示选择集中的最后一个元素,如:
XML代码 | <AAA> <BBB/> <BBB/> <BBB/> </AAA> | |||||||
目标 | 选择AAA的第一个BBB子元素 | |||||||
XPath表达式 | /AAA/BBB[1] | |||||||
| ||||||||
XML代码 | <AAA> <BBB/> <BBB/> <BBB/> </AAA> | |||||||
目标 | 选择AAA的最后一个BBB子元素 | |||||||
XPath表达式 | /AAA/BBB[last()] |
5.可通过@来指定属性,如:
XML代码 | <AAA> <BBB id=”b1”/> <BBB id=”b2”/> <BBB name=”bbb”/> <BBB/> </AAA> | |||||||
目标 | 选择所有的id属性 | |||||||
XPath表达式 | //@id | |||||||
| ||||||||
XML代码 | <AAA> <BBB id=”b1”/> <BBB id=”b2”/> <BBB name=”bbb”/> <BBB/> </AAA> | |||||||
目标 | 选择有id属性的BBB元素 | |||||||
XPath表达式 | //BBB[@id] | |||||||
| ||||||||
XML代码 | <AAA> <BBB id=”b1”/> <BBB id=”b2”/> <BBB name=”bbb”/> <BBB/> </AAA> | |||||||
目标 | 选择有name属性的BBB元素 | |||||||
XPath表达式 | //BBB[@name] | |||||||
| ||||||||
XML代码 | <AAA> <BBB id=”b1”/> <BBB id=”b2”/> <BBB name=”bbb”/> <BBB/> </AAA> | |||||||
目标 | 选择有任意属性的BBB元素 | |||||||
XPath表达式 | //BBB[@*] | |||||||
| ||||||||
XML代码 | <AAA> <BBB id=”b1”/> <BBB id=”b2”/> <BBB name=”bbb”/> <BBB/> </AAA> | |||||||
目标 | 选择没有属性的BBB元素 | |||||||
XPath表达式 | //BBB[not(@*)] | |||||||
| ||||||||
XML代码 | <AAA> <BBB id=”b1”/> <BBB id=”b2”/> <BBB name=”bbb”/> <BBB/> </AAA> | |||||||
目标 | 选择含有属性id且其值为’b1’的BBB元素 | |||||||
XPath表达式 | //BBB[@id=’b1’] |
6.可使用分隔符“ | ”将多个路径合并在一起,如:
XML代码 | <AAA> <BBB/> <CCC/> <DDD> <CCC/> <DDD/> <EEE/> </AAA> | |||||||
目标 | 选择所有的CCC和BBB元素 | |||||||
XPath表达式 | //CCC | //BBB | |||||||
| ||||||||
XML代码 | <AAA> <BBB/> <CCC/> <DDD> <CCC/> <DDD/> <EEE/> </AAA> | |||||||
目标 | 选择所有的BBB元素和所有是AAA的子元素的EEE元素 | |||||||
XPath表达式 | //BBB | //AAA/EEE | |||||||
| ||||||||
XML代码 | <AAA> <BBB/> <CCC/> <DDD> <CCC/> <DDD/> <EEE/> </AAA> | |||||||
目标 | 可以合并的路径数目没有限制 | |||||||
XPath表达式 | /AAA/EEE | //DDD/CCC | /AAA | //BBB |
xpath=//form[input^@name='username'] ----- 定位form元素,要求包含input子元素,且该子元素的name属性为username
四.辅助工具
1.FireBug
2.FirePath