xml读取完整的xml文件(1)
2017-11-24 09:37
113 查看
public void test() throws Exception{
//读取xml文档
SAXReader reader = new SAXReader();
Document doc =
reader.read(new File("./src/contacts.xml"));
//读取根标签
Element rootELem = doc.getRootElement();
StringBuffer sb = new StringBuffer();
getChildNodes(rootELem,sb);
System.out.println(sb.toString());
}
/**
* 获取当前标签的所有子标签
*/
private void getChildNodes(Element elem,StringBuffer sb){
//System.out.println(elem.getName());
//开始标签
sb.append("<"+elem.getName());
//得到标签的属性列表
List<Attribute> attrs = elem.attributes();
if(attrs!=null){
for (Attribute attr : attrs) {
//System.out.println(attr.getName()+"="+attr.getValue());
sb.append(" "+attr.getName()+"=\""+attr.getValue()+"\"");
}
}
sb.append(">");
//得到文本
//String content = elem.getText();
Iterator<Node> it = elem.nodeIterator();
while(it.hasNext()){
Node node = it.next();
//标签
if(node instanceof Element){
Element el = (Element)node;
getChildNodes(el,sb);
}
//文本
if(node instanceof Text){
Text text = (Text)node;
sb.append(text.getText());
}
//结束标签
sb.append("</"+elem.getName()+">"); }
//读取xml文档
SAXReader reader = new SAXReader();
Document doc =
reader.read(new File("./src/contacts.xml"));
//读取根标签
Element rootELem = doc.getRootElement();
StringBuffer sb = new StringBuffer();
getChildNodes(rootELem,sb);
System.out.println(sb.toString());
}
/**
* 获取当前标签的所有子标签
*/
private void getChildNodes(Element elem,StringBuffer sb){
//System.out.println(elem.getName());
//开始标签
sb.append("<"+elem.getName());
//得到标签的属性列表
List<Attribute> attrs = elem.attributes();
if(attrs!=null){
for (Attribute attr : attrs) {
//System.out.println(attr.getName()+"="+attr.getValue());
sb.append(" "+attr.getName()+"=\""+attr.getValue()+"\"");
}
}
sb.append(">");
//得到文本
//String content = elem.getText();
Iterator<Node> it = elem.nodeIterator();
while(it.hasNext()){
Node node = it.next();
//标签
if(node instanceof Element){
Element el = (Element)node;
getChildNodes(el,sb);
}
//文本
if(node instanceof Text){
Text text = (Text)node;
sb.append(text.getText());
}
//结束标签
sb.append("</"+elem.getName()+">"); }
XML
<?xml version="1.0" encoding="gbk"?>
<contactList> <contact id="001"> <name>张三</name> <age>20</age> <phone>1216461316</phone> <email>zhangsan@qq.con</email> <qq>2451356331</qq> </contact> <contact id="002"> <name>李四</name> <age>23</age> <phone>122341316</phone> <email>lisi@qq.con</email> <qq>23424331</qq> <app>101010</app> </contact> <abc></abc> </contactList>
腾不出时间思考的人,迟早会腾出时间来后悔;腾不出时间学习的人,迟早会腾出时间来伤悲。
相关文章推荐
- XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
- XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容
- 练习用dom4j完整读取xml文件
- 如何从文件读取 XML(完整例程)
- 解决 IDEA 中src下xml等资源文件无法读取的问题
- 关于Xml文件读取报错的问题
- 简易读取xml文件
- c#读取数据库到xml文件中
- AJAX XML 实例 下面的例子将演示网页如何使用 AJAX 来读取来自 XML 文件的信息:
- 使用.NET读取XML文件,.net开发,.net,ASP.NET
- ASP.NET中读取XML文件4种方法
- Unity快捷读取XML、JSON文件
- dom4j中使用SAXReader读取xml文件出现Premature end of file异常问题
- 读取Spring的配置文件applicationContext.xml的5种方法
- Ajax读取XML文件
- XML文件读取、保存
- 使用XmlReader读取xml文件
- 使用DOM读取XML文件
- js读取本地xml文件 兼容IE Firfox Chrome 等浏览器
- 在C#中创建和读取XML文件