/**
* 由String对象,创建一个结果向量Vector
*
* @return a Vector
*/
public Vector getNameByString(String text){
Vector result=new Vector();
Document doc=parseXMLDocument(text);
Element root = doc.getDocumentElement();
NodeList address = root.getElementsByTagName("ADDRESS");
for(int i = 0; i < address.getLength(); i++){
Element record = (Element) address.item(i);
String districtName=getStringByTag(record,"DISTRICTNAME");
String belongName=getStringByTag(record,"BELONGNAME");
String serviceName=getStringByTag(record,"SERVICE");
String layerName=getStringByTag(record,"LAYER");
String typeName=getStringByTag(record,"TYPE");
String remarkContent=getStringByTag(record,"REMARK");
PlaceNameRecord bean=new PlaceNameRecord(districtName,belongName,serviceName,layerName,typeName,remarkContent);
result.addElement(bean);
}
return result;
}
/**
* 由Element对象和相应的标签String,返回对应标签的内容
*
* @return a String
*/
private String getStringByTag(Element record,String text){
String result=null;
NodeList node = record.getElementsByTagName(text);
if (node.getLength() == 1) {
Element e = (Element) node.item(0);
Text t = (Text) e.getFirstChild();
result=t.getNodeValue();
}
return result;
}
/**
* 由String对象,初始化一个Document
*
* @return a Document
*/
public static Document parseXMLDocument(String xmlString) {
if (xmlString == null) {
throw new IllegalArgumentException();
}
try {
return newDocumentBuilder().parse(
new InputSource(new StringReader(xmlString)));
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* 初始化一个DocumentBuilder
*
* @return a DocumentBuilder
* @throws ParserConfigurationException
*/
public static DocumentBuilder newDocumentBuilder()
throws ParserConfigurationException {
return newDocumentBuilderFactory().newDocumentBuilder();
}
/**
* 初始化一个DocumentBuilderFactory
*
* @return a DocumentBuilderFactory
*/
public static DocumentBuilderFactory newDocumentBuilderFactory() {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
return dbf;
}