資源簡介
wxPayUtil 這個一個微信的工具類,我在網上找到的,wxPayUtil 這個一個微信的工具類,我在網上找到的,wxPayUtil 這個一個微信的工具類,我在網上找到的,
代碼片段和文件信息
package?com.github.wxpay.sdk;
import?java.io.ByteArrayInputStream;
import?java.io.InputStream;
import?java.io.StringWriter;
import?java.util.*;
import?java.security.MessageDigest;
import?org.w3c.dom.Node;
import?org.w3c.dom.NodeList;
import?javax.crypto.Mac;
import?javax.crypto.spec.SecretKeySpec;
import?javax.xml.parsers.DocumentBuilder;
import?javax.xml.parsers.DocumentBuilderFactory;
import?javax.xml.transform.OutputKeys;
import?javax.xml.transform.Transformer;
import?javax.xml.transform.TransformerFactory;
import?javax.xml.transform.dom.DOMSource;
import?javax.xml.transform.stream.StreamResult;
import?com.github.wxpay.sdk.WXPayConstants.SignType;
import?org.slf4j.Logger;
import?org.slf4j.LoggerFactory;
public?class?WXPayUtil?{
????/**
?????*?xml格式字符串轉換為Map
?????*
?????*?@param?strxml?xml字符串
?????*?@return?xml數據轉換后的Map
?????*?@throws?Exception
?????*/
????public?static?Map?xmlToMap(String?strxml)?throws?Exception?{
????????try?{
????????????Map?data?=?new?HashMap();
????????????DocumentBuilderFactory?documentBuilderFactory?=?DocumentBuilderFactory.newInstance();
????????????DocumentBuilder?documentBuilder?=?documentBuilderFactory.newDocumentBuilder();
????????????InputStream?stream?=?new?ByteArrayInputStream(strxml.getBytes(“UTF-8“));
????????????org.w3c.dom.Document?doc?=?documentBuilder.parse(stream);
????????????doc.getDocumentElement().normalize();
????????????NodeList?nodeList?=?doc.getDocumentElement().getChildNodes();
????????????for?(int?idx?=?0;?idx?????????????????Node?node?=?nodeList.item(idx);
????????????????if?(node.getNodeType()?==?Node.ELEMENT_NODE)?{
????????????????????org.w3c.dom.Element?element?=?(org.w3c.dom.Element)?node;
????????????????????data.put(element.getNodeName()?element.getTextContent());
????????????????}
????????????}
????????????try?{
????????????????stream.close();
????????????}?catch?(Exception?ex)?{
????????????????//?do?nothing
????????????}
????????????return?data;
????????}?catch?(Exception?ex)?{
????????????WXPayUtil.getLogger().warn(“Invalid?xml?can?not?convert?to?map.?Error?message:?{}.?xml?content:?{}“?ex.getMessage()?strxml);
????????????throw?ex;
????????}
????}
????/**
?????*?將Map轉換為xml格式的字符串
?????*
?????*?@param?data?Map類型數據
?????*?@return?xml格式的字符串
?????*?@throws?Exception
?????*/
????public?static?String?mapToxml(Map?data)?throws?Exception?{
????????DocumentBuilderFactory?documentBuilderFactory?=?DocumentBuilderFactory.newInstance();
????????DocumentBuilder?documentBuilder=?documentBuilderFactory.newDocumentBuilder();
????????org.w3c.dom.Document?document?=?documentBuilder.newDocument();
????????org.w3c.dom.Element?root?=?document.createElement(“xml“);
????????document.appendChild(root);
????????for?(String?key:?data.keySet())?{
????????????String?value?=?data.get(key);
????????????if?(value?==?null)?{
????
- 上一篇:jsp操作mysql簡單
- 下一篇:java金融項目開發-銀行核心系統業務介紹
評論
共有 條評論