xml解析就是要以节点名为定位获取里面的节点属性和节点值放入实体类中,获取属性值和节点值是最后目的
1.解析
第一步:获取Document
InputStreamReader reader = null;
FileInputStream fis = null;
try
{
SAXBuilder builder = new SAXBuilder(true);
fis = new FileInputStream(xmlPath);
reader = new InputStreamReader(fis, "UTF-8");
builder.setValidation(false);
return builder.build(reader);
}
finally
{
if (null != reader)
{
reader.close();
}
if (null != fis)
{
fis.close();
}
}
第二步:获取根节点
Element root = doc.getRootElement();
第三步:解析信息
1)获取子节点集合
List list = root.getChildren();
2) 获取父节点
Element parent = element.getParentElement();
3) 获取属性
element.getAttributeValue("name");
4) 获取节点值
element.getText();
5) 获取节点名
element.getName();
2.保存
第一步:构造Document
Document doc = new Document();
第二步:构造根节点并加入Document
Element xmlRoot = new Element("mxml");
doc.setRootElement(xmlRoot);
第三步:构造节点
1). 构造指定名称的节点
Element menu = new Element("menu");
2). 设置属性值
menu.setAttribute("sender", "10086");
3). 设置节点值
menu.setText("kkxx");
第四步:加入节点
xmlRoot.addContent(menu);
第五步:保存为xml文件
OutputStreamWriter writer = null;
FileOutputStream fos = null;
Document doc = getDocumentObj(rootModel, fileType);
// 设置xml信息的格式
XMLOutputter out = new XMLOutputter();
Format format = Format.getCompactFormat();
format.setLineSeparator(CommonCharacter.LINE_FEED);
format.setIndent(CommonCharacter.TAB);
format.setEncoding("UTF-8");
out.setFormat(format);
//生成的xml文件名称
fos = new FileOutputStream(fileName);
writer = new OutputStreamWriter(fos, "UTF-8");
//生成指定名称的xml文件
out.output(doc, writer);
writer.close();
fos.close();
1.解析
第一步:获取Document
InputStreamReader reader = null;
FileInputStream fis = null;
try
{
SAXBuilder builder = new SAXBuilder(true);
fis = new FileInputStream(xmlPath);
reader = new InputStreamReader(fis, "UTF-8");
builder.setValidation(false);
return builder.build(reader);
}
finally
{
if (null != reader)
{
reader.close();
}
if (null != fis)
{
fis.close();
}
}
第二步:获取根节点
Element root = doc.getRootElement();
第三步:解析信息
1)获取子节点集合
List list = root.getChildren();
2) 获取父节点
Element parent = element.getParentElement();
3) 获取属性
element.getAttributeValue("name");
4) 获取节点值
element.getText();
5) 获取节点名
element.getName();
2.保存
第一步:构造Document
Document doc = new Document();
第二步:构造根节点并加入Document
Element xmlRoot = new Element("mxml");
doc.setRootElement(xmlRoot);
第三步:构造节点
1). 构造指定名称的节点
Element menu = new Element("menu");
2). 设置属性值
menu.setAttribute("sender", "10086");
3). 设置节点值
menu.setText("kkxx");
第四步:加入节点
xmlRoot.addContent(menu);
第五步:保存为xml文件
OutputStreamWriter writer = null;
FileOutputStream fos = null;
Document doc = getDocumentObj(rootModel, fileType);
// 设置xml信息的格式
XMLOutputter out = new XMLOutputter();
Format format = Format.getCompactFormat();
format.setLineSeparator(CommonCharacter.LINE_FEED);
format.setIndent(CommonCharacter.TAB);
format.setEncoding("UTF-8");
out.setFormat(format);
//生成的xml文件名称
fos = new FileOutputStream(fileName);
writer = new OutputStreamWriter(fos, "UTF-8");
//生成指定名称的xml文件
out.output(doc, writer);
writer.close();
fos.close();