📄 tcuxmltodataset.java
字号:
package com.jr81.source.xml;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
import com.jr81.source.dataset.TcuDataRecord;
import com.jr81.source.dataset.TcuFieldValue;
import com.jr81.source.dataset.TcuTableDataPkg;
public class TcuXmlToDataset {
public TcuXmlToDataset() {
super();
// TODO 自动生成构造函数存根
}
public static boolean XmlToDataset(InputStream xml,TcuTableDataPkg dataset){
try{
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(xml);
Element root = doc.getRootElement(); //得到根元素
List records = root.getChildren(); //得到根元素所有子元素的集合
Element record =null;
Element field =null;
dataset.Clear();
for(int i=0;i<records.size();i++){
TcuDataRecord rec = new TcuDataRecord();
record = (Element)records.get(i ); //得到第一本书元素
List fields=record.getChildren();
for (int j=0;j<fields.size();j++){
TcuFieldValue fv=new TcuFieldValue();
field=(Element)fields.get(j);
fv.setFieldName(field.getName());
fv.setFieldValue(field.getValue());
rec.AddItem(fv);
}
dataset.getDataRecordList().AddItem(rec);
}
return true;
}catch(Exception e){
System.err.println(e+"error");
return false;
}
}
public static boolean DatasetToXml(TcuTableDataPkg dataset,OutputStream xml){
String xml_text=null;
try{
xml_text="<?xml version='1.0' encoding='GBK'?><TableDataPkg>";
TcuDataRecord rec =null;
TcuFieldValue fv=null;
for (int i=0;i<dataset.getDataRecordList().GetCount();i++){
rec=(TcuDataRecord) dataset.getDataRecordList().GetItem(i);
xml_text+="<DataRecord>";
for (int j=0;j<rec.GetCount();j++){
fv=(TcuFieldValue) rec.GetItem(j);
xml_text+="<"+fv.getFieldName()+">"+new String(fv.getFieldValue())+"</"+fv.getFieldName()+">";
}
xml_text+="</DataRecord>";
}
xml_text+="</TableDataPkg>";
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(xml_text);
Format format = Format.getPrettyFormat();
format.setEncoding("GB2312");
XMLOutputter xmlout = new XMLOutputter();
xmlout.setFormat(format);
xmlout.output(doc, xml);
return true;
}catch(Exception e){
System.err.println(e+"error");
}
return false;
}
/**
* @param args
* @throws FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException {
// TODO 自动生成方法存根
TcuTableDataPkg dataset=new TcuTableDataPkg();
dataset.LoadFromFile("c:/test/tbpkg.txt");
OutputStream xml=new FileOutputStream("c:/test2.txt");
DatasetToXml(dataset,xml);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -