• java中XPATH操作xml,非常便捷


    <?xml version="1.0" encoding="UTF-8"?>
    <MessageList>
     <item type="1">
      <template_id value="p2ItJPj0taTTP4QRXP-z51nYuD3aDNhgvLOusWGY4p0"/>
      <topcolor value="#173177"/>
      <first value="您好,您的信用卡收到1000元汇款。"  color="#173177"/>
      <productType value="帐号类型:信用卡
    尾号:1758 4545" color="#173177"/>
      <time value="2013年9月30日 17:58" color="#173177"/>
      <type value="收款" color="#173177"/>
      <number value="1000元" color="#173177"/>
      <remark value="备注:如有疑问,请拨打咨询热线123323。" color="#173177"/>
     </item>
     <item type="2">
      <template_id value="p2ItJPj0taTTP4QRXP-z51nYuD3aDNhgvLOusWGY4p0"/>
      <topcolor value="#173177"/>
      <first value="您好,测试type=2的微信推送。"  color="#173177"/>
      <productType value="帐号类型:信用卡
    尾号:1758 4545" color="#173177"/>
      <time value="2013年9月30日 17:58" color="#173177"/>
      <type value="收款" color="#173177"/>
      <number value="1000元" color="#173177"/>
      <remark value="备注:如有疑问,请拨打咨询热线123323。" color="#173177"/>
     </item>
    </MessageList>

    /**
      * @throws DocumentException
      * @Title: getBuySuccessTemplate
      * @Date: 2015-3-23
      * @Autor: gavin
      * @Description: TODO(推送到微信端购买成功信息)
      * @param @param template_id 设定文件
      * @return void 返回类型
      * @throws
      */
     private String getTemplateJson(int type) {
      try {
      StringBuffer templateJson = new StringBuffer();
      String path = this.getClass().getResource("/").getPath();
      String xmlPath = path + File.separator + "config" + File.separator+ "spring" + File.separator + "send-message.xml";
      LogUtils.writeLog(xmlPath);
      File xmlFile = new File(xmlPath);
      SAXReader reader = new SAXReader();
      Document doc = reader.read(xmlFile);
      Element childs = (Element) doc.selectSingleNode("//MessageList//item[@type='" + type + "']");
      Element template_idEle = (Element) doc.selectSingleNode("//MessageList//item[@type='" + type+ "']//template_id");
      Element topcolorEle = (Element) doc.selectSingleNode("//MessageList//item[@type='" + type+ "']//topcolor");
      List<Element> childList = childs.elements();
      templateJson.append(getTemplateCommon(template_idEle.attributeValue("value"),topcolorEle.attributeValue("value")));
      for (Element child : childList) {
       if (!child.getName().equals("template_id") && !child.getName().equals("topcolor")) {
        templateJson.append(""" + child.getName() + "":{"value":""+ child.attributeValue("value") + "","color":""+ child.attributeValue("color") + ""},");
       }
      }
      templateJson.append("}}");
      return templateJson.toString().replace(",}}", "}}");
      } catch (DocumentException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
       return null;
      }
     }
    
    
    
    
     
  • 相关阅读:
    Balanced Binary Tree
    Minimum Depth of Binary Tree
    Path Sum
    Flatten Binary Tree to Linked List
    Distinct Subsequences
    Chp3: Stacks and Queue
    Chp2: Linked List
    Populating Next Right Pointers in Each Node
    Valid Palindrome
    Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/duojia/p/4552433.html
Copyright © 2020-2023  润新知