java 操作xml--> xmlpull
来源:互联网 发布:structure软件 使用 编辑:程序博客网 时间:2024/04/30 12:06
转入java一段时间了,还没有用java处理过xml。正好非开发的同事有个xml需要处理,也顺便学习下
需求:将value属性的值全部换成name属性的值
jar包下载地址:
1.xmlpull_1_1_3_4c.jar 点击下载xmlpull
2.kxml2-2.3.0.jar 点击下载kxml2-2.3.0.jar
maven下载方式:
<dependency> <groupId>xmlpull</groupId> <artifactId>xmlpull</artifactId> <version>1.1.3.1</version></dependency> <dependency> <groupId>kxml2</groupId> <artifactId>kxml2</artifactId> <version>2.3.0</version></dependency>
1.xml如下
<?xml version="1.0" encoding="utf-8" ?><texts> <text name="Individual" value="个人" ></text> <text name="HomePage" value="首页" ></text> <text name="Project" value="项目" ></text> <text name="Document" value="文档" ></text></texts>
2.解析代码如下
public static List<Text> getText(InputStream xml) throws Exception { List<Text> lst = null; Text text = null; // 获得pull解析器工厂 XmlPullParserFactory pullParserFactory = XmlPullParserFactory.newInstance(); //获取XmlPullParser的实例 XmlPullParser pullParser = pullParserFactory.newPullParser(); // 设置需要解析的XML数据 pullParser.setInput(xml, "UTF-8"); // 取得事件 int event = pullParser.getEventType(); // 若为解析到末尾 while (event != XmlPullParser.END_DOCUMENT) // 文档结束 { String nodeName = pullParser.getName(); // 节点名称 switch (event) { case XmlPullParser.START_DOCUMENT: // 文档开始 lst = new ArrayList<Text>(); break; case XmlPullParser.START_TAG: // 标签开始 if ("text".equals(nodeName)) { text = new Text(); String name = pullParser.getAttributeValue(0); String value = pullParser.getAttributeValue(1); text.setName(name); text.setValue(value); } break; case XmlPullParser.END_TAG: // 标签结束 if ("text".equals(nodeName)) { lst.add(text); text = null; } break; } event = pullParser.next(); // 下一个标签 } return lst; }
3.text对象
public class Text {private String name;private String value;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}}
4.使用
File xmlFile = new File("/Users/law/Downloads/中文版.xml"); FileInputStream inputStream = new FileInputStream(xmlFile);List<Text> textList = getText(inputStream);
5.最后拼接输出就可以了
1 0
- java 操作xml--> xmlpull
- Java使用SAX,XmlPull两种方式解析XML
- xmlpull解释xml
- 使用xmlpull解析xml
- 使用XmlPull解析XML
- xmlpull解析XML
- 使用Xmlpull解析xml
- xmlpull读取xml文件
- xml解析-xmlpull
- xmlpull解析xml
- xml请求,xmlpull解析
- 轻松使用xmlpull解析xml
- 使用xmlpull创建xml文件
- 轻松使用xmlpull创建xml
- 轻松使用xmlpull解析xml
- 轻松使用xmlpull解析xml
- Android--使用XMLPull解析xml
- 用xmlpull解析xml文件
- 数据中心工具———虚拟网络方案Calico初探
- 前端模板引擎,数据内存分组
- 插入排序
- fasfasfasfaszfsaf
- EditText
- java 操作xml--> xmlpull
- C# Development 13 Things Every C# Developer Should Know--C#开发人员应该知道的13件事情
- leetcode_middle_59_300. Longest Increasing Subsequence
- android控件的属性
- .class文件的version问题
- HDU 2196 Computer 两种做法最详细题解(树形DP经典)
- 1502: [NOI2005]月下柠檬树
- RxAndroid入门实例(结合OkHttp)
- 深入理解SQL case when