1.基本语法
例子:
<?xml version="1.0" encoding="UTF-8" ?>
<hello version="1">
<a>lalal</a>//嵌套
lalalalalaal//内容
<b>
<![CDATA[
if(a>b&&b<c){
if.....
}
]]>
</b>
</hello>
总体:
xml:大小写敏感
1.文档声明必须在第一行 < ?xml version ?> 三个属性中 encoding属性是可选的
2.xml结构 < .. > 内容 < /.. > 开始标签 内容 结束标签
3.xml是可以嵌套的
4.< ![CDATA[ 内容 ]] > 有很多字符被xml自身使用 所以需要转义 在这个标签里的内容 不会被xml解析器解析
5. 转义字符可以去查表
6. 标签内可以有属性 <.. name=”….”> … < /..>
DTD约束
Schema约束 DTD替代者
dom4j 解析xml
public class TestDom4j {
@Test
public void testReadWebXML(){
try{
//1.获取解析器
SAXReader saxReader = new SAXReader();
//2.获取Document文档对象
Document doc = saxReader.read("src/cn/itheima/xml/schema/web.xml");
//3.获取元素
Element rootElement = doc.getRootElement();
//System.out.println(rootElement.getName());
//System.out.println(rootElement.attributeValue("version"));
//4.获取子元素
List<Element> childElement = rootElement.elements();
//5.遍历子元素
for(Element element : childElement)
{
if("servlet".equals(element.getName()))
{
Element servletClass= element.element("servlet-class");
Element servletName= element.element("servlet-name");
System.out.println(servletClass.getName());
System.out.println(servletName.getName());
System.out.println(servletClass.getData().toString());
}
}
}catch(DocumentException e)
{
e.printStackTrace();
}
}
}