返回列表 上一筆 下一筆

📄 資料內容

private static Element pickDiffgram(MessageElement[] anyArr) {

    if (anyArr == null) return null;

    for (MessageElement me : anyArr) {

        String ln = me.getLocalName();

        if ("diffgram".equalsIgnoreCase(ln)) return me;

    }

    return null;

}



private static String getChildText(Element parent, String tag) {

    NodeList nl = parent.getElementsByTagName(tag);

    if (nl == null || nl.getLength() == 0) return "";

    return getNodeTextCompat(nl.item(0)).trim();

}



private static String getNodeTextCompat(Node node) {

    if (node == null) return "";

    StringBuilder sb = new StringBuilder();

    NodeList cs = node.getChildNodes();

    for (int i = 0; i < cs.getLength(); i++) {

        Node c = cs.item(i);

        short t = c.getNodeType();

        if (t == Node.TEXT_NODE || t == Node.CDATA_SECTION_NODE) sb.append(c.getNodeValue());

    }

    return sb.toString();

}



private static Element firstChildElementByLocalName(Element parent, String local) {

    if (parent == null) return null;

    for (Node n = parent.getFirstChild(); n != null; n = n.getNextSibling()) {

        if (n.getNodeType() == Node.ELEMENT_NODE) {

            String ln = n.getLocalName();

            String nn = n.getNodeName();

            if (local.equals(nn) || local.equalsIgnoreCase(ln)) return (Element) n;

        }

    }

    return null;

}



private static Integer parseIntOrNull(String s) {

    if (s == null || s.isBlank()) return null;

    try { return Integer.parseInt(s.trim()); } catch (NumberFormatException e) { return null; }

}



private static LocalDateTime parseDateTimeSafely(String s) {

    if (s == null || s.isBlank()) return null;

    try { return LocalDateTime.parse(s.trim(), FORMATTER); }

    catch (DateTimeParseException e1) {

        try { return LocalDateTime.parse(s.trim(), FMT_FALLBACK); }

        catch (DateTimeParseException e2) { return null; }

    }

}

🔐 Base64 編碼內容

cHJpdmF0ZSBzdGF0aWMgRWxlbWVudCBwaWNrRGlmZmdyYW0oTWVzc2FnZUVsZW1lbnRbXSBhbnlBcnIpIHsKCiAgICBpZiAoYW55QXJyID09IG51bGwpIHJldHVybiBudWxsOwoKICAgIGZvciAoTWVzc2FnZUVsZW1lbnQgbWUgOiBhbnlBcnIpIHsKCiAgICAgICAgU3RyaW5nIGxuID0gbWUuZ2V0TG9jYWxOYW1lKCk7CgogICAgICAgIGlmICgiZGlmZmdyYW0iLmVxdWFsc0lnbm9yZUNhc2UobG4pKSByZXR1cm4gbWU7CgogICAgfQoKICAgIHJldHVybiBudWxsOwoKfQoKCgpwcml2YXRlIHN0YXRpYyBTdHJpbmcgZ2V0Q2hpbGRUZXh0KEVsZW1lbnQgcGFyZW50LCBTdHJpbmcgdGFnKSB7CgogICAgTm9kZUxpc3QgbmwgPSBwYXJlbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUodGFnKTsKCiAgICBpZiAobmwgPT0gbnVsbCB8fCBubC5nZXRMZW5ndGgoKSA9PSAwKSByZXR1cm4gIiI7CgogICAgcmV0dXJuIGdldE5vZGVUZXh0Q29tcGF0KG5sLml0ZW0oMCkpLnRyaW0oKTsKCn0KCgoKcHJpdmF0ZSBzdGF0aWMgU3RyaW5nIGdldE5vZGVUZXh0Q29tcGF0KE5vZGUgbm9kZSkgewoKICAgIGlmIChub2RlID09IG51bGwpIHJldHVybiAiIjsKCiAgICBTdHJpbmdCdWlsZGVyIHNiID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKCiAgICBOb2RlTGlzdCBjcyA9IG5vZGUuZ2V0Q2hpbGROb2RlcygpOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgY3MuZ2V0TGVuZ3RoKCk7IGkrKykgewoKICAgICAgICBOb2RlIGMgPSBjcy5pdGVtKGkpOwoKICAgICAgICBzaG9ydCB0ID0gYy5nZXROb2RlVHlwZSgpOwoKICAgICAgICBpZiAodCA9PSBOb2RlLlRFWFRfTk9ERSB8fCB0ID09IE5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFKSBzYi5hcHBlbmQoYy5nZXROb2RlVmFsdWUoKSk7CgogICAgfQoKICAgIHJldHVybiBzYi50b1N0cmluZygpOwoKfQoKCgpwcml2YXRlIHN0YXRpYyBFbGVtZW50IGZpcnN0Q2hpbGRFbGVtZW50QnlMb2NhbE5hbWUoRWxlbWVudCBwYXJlbnQsIFN0cmluZyBsb2NhbCkgewoKICAgIGlmIChwYXJlbnQgPT0gbnVsbCkgcmV0dXJuIG51bGw7CgogICAgZm9yIChOb2RlIG4gPSBwYXJlbnQuZ2V0Rmlyc3RDaGlsZCgpOyBuICE9IG51bGw7IG4gPSBuLmdldE5leHRTaWJsaW5nKCkpIHsKCiAgICAgICAgaWYgKG4uZ2V0Tm9kZVR5cGUoKSA9PSBOb2RlLkVMRU1FTlRfTk9ERSkgewoKICAgICAgICAgICAgU3RyaW5nIGxuID0gbi5nZXRMb2NhbE5hbWUoKTsKCiAgICAgICAgICAgIFN0cmluZyBubiA9IG4uZ2V0Tm9kZU5hbWUoKTsKCiAgICAgICAgICAgIGlmIChsb2NhbC5lcXVhbHMobm4pIHx8IGxvY2FsLmVxdWFsc0lnbm9yZUNhc2UobG4pKSByZXR1cm4gKEVsZW1lbnQpIG47CgogICAgICAgIH0KCiAgICB9CgogICAgcmV0dXJuIG51bGw7Cgp9CgoKCnByaXZhdGUgc3RhdGljIEludGVnZXIgcGFyc2VJbnRPck51bGwoU3RyaW5nIHMpIHsKCiAgICBpZiAocyA9PSBudWxsIHx8IHMuaXNCbGFuaygpKSByZXR1cm4gbnVsbDsKCiAgICB0cnkgeyByZXR1cm4gSW50ZWdlci5wYXJzZUludChzLnRyaW0oKSk7IH0gY2F0Y2ggKE51bWJlckZvcm1hdEV4Y2VwdGlvbiBlKSB7IHJldHVybiBudWxsOyB9Cgp9CgoKCnByaXZhdGUgc3RhdGljIExvY2FsRGF0ZVRpbWUgcGFyc2VEYXRlVGltZVNhZmVseShTdHJpbmcgcykgewoKICAgIGlmIChzID09IG51bGwgfHwgcy5pc0JsYW5rKCkpIHJldHVybiBudWxsOwoKICAgIHRyeSB7IHJldHVybiBMb2NhbERhdGVUaW1lLnBhcnNlKHMudHJpbSgpLCBGT1JNQVRURVIpOyB9CgogICAgY2F0Y2ggKERhdGVUaW1lUGFyc2VFeGNlcHRpb24gZTEpIHsKCiAgICAgICAgdHJ5IHsgcmV0dXJuIExvY2FsRGF0ZVRpbWUucGFyc2Uocy50cmltKCksIEZNVF9GQUxMQkFDSyk7IH0KCiAgICAgICAgY2F0Y2ggKERhdGVUaW1lUGFyc2VFeGNlcHRpb24gZTIpIHsgcmV0dXJuIG51bGw7IH0KCiAgICB9Cgp9Cg==
返回列表 上一筆 下一筆