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

 

 /**
  * 由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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值