由String得到XML中Document对象的一种方法代码

    技术2022-05-11  140

     

     /**  * 由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; }


    最新回复(0)