java读取xml文件
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReadSetting {
private Element eroot = null;
public void setRootElementByPath (String path) {
File f = new File(path);
Element root = null;
if(f.exists())
{
SAXReader reader = new SAXReader();
Document doc;
try {
doc = reader.read(f);
root = doc.getRootElement();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
eroot = root;
}
public Map getSetting(String ename) {
Map objmap = null;
if(eroot!=null&&ename!=null&&!ename.equals(""))
objmap = getElements(eroot,ename);
return objmap;
}
private Map getElements(Element root,String ename)
{
Element foo;
Map objmap = new HashMap();
List objlist = root.elements(ename);
for(int i=0;i<objlist.size();i++)
{
foo = (Element)objlist.get(i);
Map tmap = setMapByElement(foo,ename);
objmap.put(foo.attributeValue("id"),tmap);
}
return objmap;
}
public Map getSettingById(String id,String ename) {
Map objmap = null;
if(eroot!=null&&ename!=null&&!ename.equals(""))
objmap = getElementsById(eroot,id,ename);
return objmap;
}
private Map getElementsById(Element root,String id,String ename)
{
Element foo;
Map objmap = null;
List objlist = root.elements(ename);
for(int i=0;i<objlist.size();i++)
{
foo = (Element)objlist.get(i);
String ezid = foo.attributeValue("id");
if(ezid!=null&&ezid.equals(id))
{
objmap = setMapByElement(foo,ename);
break;
}
}
return objmap;
}
private Map setMapByElement(Element foo,String ename)
{
Map tmap = new HashMap();
if(ename.equals("
相关文档:
通常情况下,你可以从服务器上为tree控件取得XML数据 ,你也可以在<mx:Tree>Tag里直接定义格式良好的XML数据。
你可以使用<mx:XML>或者<mx:XMLList>Tag在mxml里定义XML数据。
你可以将XML object直接作为一个层级数据控件的dataProvider,however,if the object changes dynamically,你应该做如下处理: ......
1、页面编码与后台类编码不一致。
2、后台类与数据库交互保持数据时产生乱码。解决方法:可以在驱动的url参数中指定。
3、读文件/流时产生乱码。解决方法:建议使用FileReader和FileWriter的父类:InputStreamReader/OutputStreamWriter,它们在构造函数中可以指定编码类型:InputStreamReader(InputStream in, Charset c ......
public boolean copy(String from, String to) {
boolean temp=true;
FileInputStream stream;
try {
stream = new FileInputStream(new File(from));
FileOutputStream bos = new FileOutputStream(to);
int bytesRea ......
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参 数的值。
"引用传递":也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改 ......