XML配置文件是什么
做数据交互的媒介,用于传输数据,解决硬编码问题
注意事项:
1.一个xml文件只有一个根节点(可以是任意名字)
2.所有标签都是成对出现
3.标签不能嵌套使用
4.标签里面可以有属性值
示例:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><students>
<!--xml文件,只有一个跟标签,标签中可以有属性--><student id="1"><name>张三</name><age>25</age></student><student id="2"><name>李四</name><age>15</age></student>
</students>
DOM解析(用于解析XML)
文档对象模型,将文档中的成员描述成一个个对象
解析步骤:
1.获取文档对象
File f = new File("绝对路径")
2.创建DocumentBuilderFactory工厂对象(抽象的类)
DocumentBuilderFactory fac=DocumentBuilderFactory.newInstance()
3.创建DocumentBuilder对象
DocumentBuilder builder=fac.newDocumentBuilder()
4.创建Document对象
Document doc=builder.parse(f);
写在一起如下:
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(f);
如何获取xml中的数据步骤
如上先创建Document对象
1.获取根元素Students
Element root =doc.getDOcumentElement()
2.获取students对的第二个子元素student
Element student =(Element) root.getElementsByTagName("student").item(1);
3.取到student里面指定元素name
Element name =(Element) student.getElementsByTagName("name").item(0);
4.取得里面的文本内容
name.getTextContent()
xml数据插入
1.创建Doucument对象,如上
2.获取根元素
3.创建信息元素并加入文本
Element student = doc.createElement("student");
Element name = doc.createElement("name");
name.setTextContent("赵六");
4.建立元素关系
student.appendChild(name);将name加到子元素中
root.appendChild(student);将student加到根元素中
5.将数据写到文件中
TransformerFactory.newInstance().newTransformer().transform(new DOMSource(doc),new StreamResult(f));//来源,输出位置
xml约束
用于约束xml中语法的写法,具有xml代码提示作用
示例
<!ELEMENT students (student+) ><!ELEMENT student (name,age,sex)><!ELEMENT name (#PCDATA)><!ELEMENT age (#PCDATA)><!ELEMENT sex (#PCDATA)><!ATTLIST student number ID #REQUIRED>
<students><student number="S1"><name>长海</name><age>20</age><sex>男</sex>
</students>