根据Schema文件编写xml并解析xml文件
2017-05-19 14:18
543 查看
conf.xsd: <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="学生名册"> <!-- 根元素为学生名册,它包含了若干个学生,所以学生名册一定是一个complexType,一定是个复杂类型 --> <xs:complexType> <!--学生名册里面有多个学生,所以可以用sequence--> <!--每个sequence里面就一个元素:学生,而且它可以不断重复,0次或者多次--> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="学生"> <!-- 因为学生也是一个复杂的类型 --> <xs:complexType> <xs:sequence> <xs:element name="姓名" type="xs:string"/> <!-- 性别使用简单类型 --> <xs:element name="性别"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="男"/> <xs:enumeration value="女"/> </xs:restriction> </xs:simpleType> </xs:element> <!-- 年龄也是一个简单类型 --> <xs:element name="年龄" > <xs:simpleType> <xs:restriction base="xs:int"> <xs:minInclusive value="1"/> <xs:maxInclusive value="150"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> test.xml: <?xml version="1.0" encoding="UTF-8"?> <学生名称 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="conf.xsd"> <学生 学号="1"> <姓名>张三</姓名> <性别>男</性别> <年龄>23</年龄> </学生> <学生 学号="2"> <姓名>李四</姓名> <性别>女</性别> <年龄>24</年龄> </学生> <学生 学号="3"> <姓名>王五</姓名> <性别>男</性别> <年龄>25</年龄> </学生> </学生名称> 文件的解析: package kw.java; import java.io.File; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.tree.AbstractAttribute; public class ReadXMlDemo { static String Xmlname = "conf/test.xml"; public static void main(String[] args) throws DocumentException { SAXReader reader = new SAXReader(); File file = new File(Xmlname); //读取文档实体 Document doc = reader.read(file); /*//获得指定路径下的所有节点 List list = doc.selectNodes("//学生"); for(Iterator it = list.iterator();it.hasNext();){ //获得具体的row元素 Element element = (Element)it.next(); //获得所有的属性 List eList = element.attributes(); for(Iterator iter1 = eList.iterator();iter1.hasNext();){ //将每个属性转化为一个抽象属性,然后获取其名字和值 AbstractAttribute aa = (AbstractAttribute)iter1.next(); System.out.println("Name:"+aa.getName()+";Value:"+aa.getValue()); } }*/ //获得跟元素 Element root = doc.getRootElement(); //得到所有的子元素 List<Element> list = root.elements(); } }
相关文章推荐
- Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库
- Pull解析器解析XML文件和生成XML文件
- Dom4j解析xml文件-操作节点和属性及写入其他xml文件
- Altova Xmlspy工具XML文件生成XSD文件并在schema视图中能按树形视图显示
- Android向本地写入一个XML文件和解析XML文件
- JAVA使用JAXB框架根据schema.xsd文件验证XML合法性
- 通过浏览器界面编写xml文件、解析xml
- android学习——使用SAX、DOM 和 PULL 解析xml文件,及使用pull生成xml文件
- XML 文件解析--含Unicode字符的XML文件
- Cocos2d-x tinyxml2用于xml的解析,自动生成xml文件和解析xml文件
- Java乔晓松-使用SAX,DOM,pull解析XML文件以及pull解析生成xml文件
- 第一天:主要实现解析xml文件和生成xml文件
- XML(3)――schema文件的三种编写方式
- Java解析Xml文件—判断Xml文件的节点是否存在子节点_以及对节点下不同子节点的内容解析方式
- 解析一个XML文件-Yahoo天气(xml文件有属性值)
- Solr的学习使用之(二)schema.xml等配置文件的解析
- Dom解析是将xml文件全部载入,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件,下面结合这个xml文件来进行dom解析。
- 使用Dom生成xml文件和解析xml文件
- 使用TinyXML进行xml文件解析,生成xml文件
- c 根据libxml库解析xml文件