对xml的解析
一、获取document
SAXReader reader = new SAXRader();
Document document = reader.read(new File("saop.xml"));
二、对xml的节点对象的操作方法:
1.获取xml的根节点
Element root = document.getRootElement();
2.获取弄个节点的子节点方法
Element element = node.element("产品部");
3.获取节点的文字
node.getText();
4.获取某个节点下所有名为"serviceCode"的子节点,并遍历
List nodes = rootEle.elements("ServiceCode");
for(Iterator it = nodes.iterator(); it.hasNext();){
Element elem = (Element) it.next();
}
5.对某节点的所有子节点进行遍历(迭代遍历)
for(Iterator it = root.elementIterator(); it.hasNext();){
Element element = (Element) it.next();
}
6.给某个节点添加子节点
Element elem = newElem.addElement("BusCode");
elem.setText("");
7.删除某个节点
parentElement.remove(childElement);
8.添加一个CDATA节点
Element contentElm = infoElm.addElement("content");contentElm.addCDATA(“cdata区域”);
三、对节点对象的属性操作方法
1.获取节点的属性
Element root = document.getRootElement();
Attribute attribute = root.attribute("id");
attribute.getText();
root.remove(root.attribute("name"));
2.设置节点的属性和文字
newMemberElem.addAttribute("name","名字")
对xml的构造
一、创建文档的根节点
两种方法:第一种:document = DocumentHelper.createDocument();
Element root = DocumentHelper.createElement("SAOP");
document.setRootElement(root);
2.第二种:Element root = DocumentHelper.createElement("SAOP");
Document document = DocumentHelper.createDocument(root);
二。给节点添加属性;
root.addAttribute("key1","value1").addAttribute("key2","value2")
三、给节点添加孩子节点
Element element1 = rood.addElement("产品部");
element2 = element1.addElement("成员").addAttribute("key1","value1").addText("");
element2.addElement("").addText("");
四、构造样式输出编码和格式
OutputFormat format = new OutPutFormat(" ",true);//" "为默认四个字节的缩进,true代表子节点 换行
format.setEncoding("GBK");
XMLWriter xmlWriter = new XMLWriter(new fileOutputStream("SAOP.xml"), format);
xmlWriter.write(document);
xmlWriter.close();//xmlWriter.flush();
json的数据转换和解析
一、 List集合转成json方法
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray2 = JSONArray.fromObject( list );
二、 Map集合转换成json方法
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "p_code", "h_code" });
map.put("func", "function(i){ return this.arr[i]; }");
JSONObject json = JSONObject.fromObject(map);
三、 Bean转换成json代码
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
四、 数组转换成json代码
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
五、 一般数据转换成json代码
JSONArray jsonArray3 = JSONArray.fromObject("['json','serviceCode','busCode']" );
六、 beans转换成json代码
List list = new ArrayList();
JsonBean2 jb1 = new JsonBean2();
jb1.setCol(1);
jb1.setRow(1);
jb1.setValue("xx");
JsonBean2 jb2 = new JsonBean2();
jb2.setCol(2);
jb2.setRow(2);
jb2.setValue("");
list.add(jb1);
list.add(jb2);
JSONArray ja = JSONArray.fromObject(list);
json解析的实例
public String jsonParse() throws JSONException{
}
相关文章
- 001-RESTful服务最佳实践-RestFul准则、HTTP动词表示含义、合理的资源命名、响应格式XML和JSON
- xml和JSON格式相互转换的Java实现
- 读写 XML/JSON/INI 和 UBJSON 等格式的数据文件的统一接口
- c#: 高级用法一(不创建类,动态解析和构造json、JObject/JArray)
- [转]C++的Json解析库:jsoncpp和boost
- C++的Json解析库:jsoncpp和boost(转)
- XML解析与xml和Map集合的互转
- IOS的XML文件解析,利用了NSData和NSFileHandle
- iOS - - JSON 和 XML解析
- 不一样的味道--Html和Xml解析、格式、遍历