一、元素的属性
如果用XML来表示一个学生的信息,可以表示为:
<?xml version="1.0" encoding="UTF-8"?>
<student>
<id>2017</id>
<name>郭</name>
<sex>male</sex>
<cellphone>15137742640</cellphone>
</student>
也可以表示为:
<?xml version="1.0" encoding="UTF-8"?>
<student id="2017">
<name>郭</name>
<sex>male</sex>
<cellphone>15137742640</cellphone>
</student>
其中,id作为元素<student>的属性出现,属性的名字为id,值为"2017",必须使用双引号。
也可以表示为:
<?xml version="1.0" encoding="UTF-8"?>
<student id="2017" name="郭少" sex="true" cellphone="15137742602">
</student>
其中,<student>元素有四个属性出现
*由于student没有Text内容,所以可以简写为:
<?xml version="1.0" encoding="UTF-8"?>
<student id="2017" name="郭少" sex="true" cellphone="15137742602"/>
二、dom4j:设置元素的属性
例子:
Element x_student = x_root.addElement("student");
x_student.addAttribute("id", String.valueOf(s.id));
x_student.addAttribute( "name" , s.name);
x_student.addAttribute( "sex" , s.sex ? "male" : "female");
x_student.addAttribute( "cellphone", s.cellphone);
也可以这样写
Element x_student = x_root.addElement("student")
.addAttribute("id", String.valueOf(s.id))
.addAttribute( "name" , s.name)
.addAttribute( "sex" , s.sex ? "male" : "female")
.addAttribute( "cellphone", s.cellphone);
之所以可以连在一起写,是因为addAttribute()的返回值仍然是当前的Element对象
三、dom4j:读取元素的属性
事例:
Student s = new Student();
s.id = Integer.valueOf( x_student.attributeValue("id").trim());
s.name = x_student.attributeValue("name").trim();
String sex = x_student.attributeValue("sex").trim();
s.sex = sex.equals("male");
s.cellphone = x_student.attributeValue("cellphone").trim();
其中,attributeValue()用于取得元素的值。调用者需要把属性转成自己需要的类型。
注意:
*如果属性不存在,则attributeValue()返回null
*属性的值一般需要trim()一下,一遍去除两边的空白字符