forked from demo/example
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.2 KiB
70 lines
2.2 KiB
7 years ago
|
package com.fr.data;
|
||
|
|
||
|
import com.fr.stable.xml.XMLReadable;
|
||
|
import com.fr.stable.xml.XMLableReader;
|
||
|
|
||
|
import java.io.InputStream;
|
||
|
import java.io.InputStreamReader;
|
||
|
import java.io.Reader;
|
||
|
|
||
|
public class GetXmlDate {
|
||
|
// 定义返回值数组
|
||
|
private String[] Value = new String[3];
|
||
|
// 定义查询的name值
|
||
|
private String[] Name = null;
|
||
|
|
||
|
protected String[] readerXMLSource(InputStream in, String[] name)
|
||
|
throws Exception {
|
||
|
Name = name;
|
||
|
InputStreamReader reader = new InputStreamReader(in, "utf-8");
|
||
|
readXMLSource(reader);
|
||
|
return Value;
|
||
|
}
|
||
|
|
||
|
protected void readXMLSource(Reader reader) throws Exception {
|
||
|
XMLableReader xmlReader = XMLableReader.createXMLableReader(reader);
|
||
|
if (xmlReader != null) {
|
||
|
xmlReader.readXMLObject(new Content());
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private class Content implements XMLReadable {
|
||
|
public void readXML(XMLableReader reader) {
|
||
|
if (reader.isChildNode()) {
|
||
|
if (reader.getTagName().equals("Field")) {
|
||
|
Field field = new Field();
|
||
|
reader.readXMLObject(field);
|
||
|
// 获得name对应的value值
|
||
|
if (Name[0].equals(field.name)) {
|
||
|
Value[0] = field.value;
|
||
|
} else if (Name[1].equals(field.name)) {
|
||
|
Value[1] = field.value;
|
||
|
} else if (Name[2].equals(field.name)) {
|
||
|
Value[2] = field.value;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// 定义每个field的结构
|
||
|
private class Field implements XMLReadable {
|
||
|
private String name;
|
||
|
private String type;
|
||
|
private String value;
|
||
|
|
||
|
public void readXML(XMLableReader reader) {
|
||
|
if (reader.isChildNode()) {
|
||
|
String tagName = reader.getTagName();
|
||
|
if (tagName.equals("Name")) {
|
||
|
this.name = reader.getElementValue();
|
||
|
} else if (tagName.equals("Type")) {
|
||
|
this.type = reader.getElementValue();
|
||
|
} else if (tagName.equals("Value")) {
|
||
|
this.value = reader.getElementValue();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|