java для синтаксического анализа / извлечения вьетнамских символов из файла xml - PullRequest
0 голосов
/ 04 августа 2020

Вот что у меня:

  Document xmlDoc = XmlUtils.getXMLDocument(custData);
    
                if (xmlDoc == null) {
                    obj.setErr_message("Invalid form data");
                    return obj;
                }

    if ((xmlDoc.getElementsByTagName("fullname")).getLength() == 0) {
                    obj.setErr_message("Empty fullname!");
    
                    return obj;
                } else {
                    if (StringUtils.isNullOrEmpty((xmlDoc.getElementsByTagName("fullname")).item(0).getTextContent()) == true) {
                        obj.setErr_message("Empty fullname!");
    
                        return obj;
                    } else {
                        obj.setFullName((xmlDoc.getElementsByTagName("fullname")).item(0).getTextContent());
                        Util.log(CustomLogger.LogType.DEBUG, Boolean.TRUE, "Full Name: " + ((xmlDoc.getElementsByTagName("fullname")).item(0).getTextContent()));
                    }
                }

Итак, если мой ввод в xml файл:

<custdata>
     <fullname>Đà Nẵng Nai</fullname>
</custdata>

, я получаю: Full Name: Ä�à Nẵng Nai .

Это то, что было, когда я искал класс xmlUtils. Надеюсь, это поможет. Я унаследовал этот код от кого-то еще, поэтому я тоже работаю над этим впервые.

XmlUtils:

package com.ilts.sw.utils;

import org.w3c.dom.Document;
import org.w3c.dom.Node;

public class XmlUtils {

    public XmlUtils() {
        // <editor-fold defaultstate="collapsed" desc="Compiled Code">
        /* 0: aload_0
         * 1: invokespecial java/lang/Object."<init>":()V
         * 4: return
         *  */
        // </editor-fold>
    }

    public static Document getXMLDocument(String xmlData) {
        // <editor-fold defaultstate="collapsed" desc="Compiled Code">
        /* 0: aconst_null
         * 1: astore_1
         * 2: invokestatic  javax/xml/parsers/DocumentBuilderFactory.newInstance:()Ljavax/xml/parsers/DocumentBuilderFactory;
         * 5: astore_2
         * 6: aload_2
         * 7: iconst_0
         * 8: invokevirtual javax/xml/parsers/DocumentBuilderFactory.setValidating:(Z)V
         * 11: aload_2
         * 12: iconst_1
         * 13: invokevirtual javax/xml/parsers/DocumentBuilderFactory.setNamespaceAware:(Z)V
         * 16: aload_2
         * 17: invokevirtual javax/xml/parsers/DocumentBuilderFactory.newDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
         * 20: astore_3
         * 21: new           java/io/ByteArrayInputStream
         * 24: dup
         * 25: aload_0
         * 26: getstatic     java/nio/charset/StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
         * 29: invokevirtual java/lang/String.getBytes:(Ljava/nio/charset/Charset;)[B
         * 32: invokespecial java/io/ByteArrayInputStream."<init>":([B)V
         * 35: astore        4
         * 37: aload_3
         * 38: aload         4
         * 40: invokevirtual javax/xml/parsers/DocumentBuilder.parse:(Ljava/io/InputStream;)Lorg/w3c/dom/Document;
         * 43: astore_1
         * 44: aload_1
         * 45: invokeinterface org/w3c/dom/Document.getDocumentElement:()Lorg/w3c/dom/Element;
         * 50: invokeinterface org/w3c/dom/Element.normalize:()V
         * 55: goto          71
         * 58: astore_2
         * 59: getstatic     com/ilts/sw/log/CustomLogger$LogType.SEVERE:Lcom/ilts/sw/log/CustomLogger$LogType;
         * 62: getstatic     java/lang/Boolean.TRUE:Ljava/lang/Boolean;
         * 65: ldc           Exception due to
         * 67: aload_2
         * 68: invokestatic  com/ilts/sw/utils/LogUtils.logException:(Lcom/ilts/sw/log/CustomLogger$LogType;Ljava/lang/Boolean;Ljava/lang/String;Ljava/lang/Exception;)V
         * 71: aload_1
         * 72: areturn
         * Exception table:
         * from    to  target type
         * 2    55    58   Class java/lang/Exception
         *  */
        // </editor-fold>
    }

    public static void prettyXMLPrint(Node node, String tab) {
        // <editor-fold defaultstate="collapsed" desc="Compiled Code">
        /* 0: aload_0
         * 1: invokeinterface org/w3c/dom/Node.getNodeType:()S
         * 6: iconst_3
         * 7: if_icmpne     42
         * 10: aload_1
         * 11: invokestatic  com/ilts/sw/utils/StringUtils.isNullOrEmpty:(Ljava/lang/String;)Ljava/lang/Boolean;
         * 14: invokevirtual java/lang/Boolean.booleanValue:()Z
         * 17: ifne          27
         * 20: getstatic     java/lang/System.out:Ljava/io/PrintStream;
         * 23: aload_1
         * 24: invokevirtual java/io/PrintStream.print:(Ljava/lang/String;)V
         * 27: getstatic     java/lang/System.out:Ljava/io/PrintStream;
         * 30: aload_0
         * 31: invokeinterface org/w3c/dom/Node.getNodeValue:()Ljava/lang/String;
         * 36: invokevirtual java/io/PrintStream.println:(Ljava/lang/String;)V
         * 39: goto          388
         * 42: aload_0
         * 43: invokeinterface org/w3c/dom/Node.getNodeType:()S
         * 48: iconst_1
         * 49: if_icmpne     388
         * 52: aload_1
         * 53: invokestatic  com/ilts/sw/utils/StringUtils.isNullOrEmpty:(Ljava/lang/String;)Ljava/lang/Boolean;
         * 56: invokevirtual java/lang/Boolean.booleanValue:()Z
         * 59: ifne          69
         * 62: getstatic     java/lang/System.out:Ljava/io/PrintStream;
         * 65: aload_1
         * 66: invokevirtual java/io/PrintStream.print:(Ljava/lang/String;)V
         * 69: aload_0
         * 70: invokeinterface org/w3c/dom/Node.hasAttributes:()Z
         * 75: iconst_1
         * 76: if_icmpne     223
         * 79: aload_0
         * 80: invokeinterface org/w3c/dom/Node.getAttributes:()Lorg/w3c/dom/NamedNodeMap;
         * 85: astore_2
         * 86: new           java/lang/StringBuilder
         * 89: dup
         * 90: invokespecial java/lang/StringBuilder."<init>":()V
         * 93: astore_3
         * 94: aload_3
         * 95: new           java/lang/StringBuilder
         * 98: dup
         * 99: invokespecial java/lang/StringBuilder."<init>":()V
         * 102: ldc           <
         * 104: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 107: aload_0
         * 108: invokeinterface org/w3c/dom/Node.getNodeName:()Ljava/lang/String;
         * 113: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 116: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 119: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 122: pop
         * 123: iconst_0
         * 124: istore        4
         * 126: iload         4
         * 128: aload_2
         * 129: invokeinterface org/w3c/dom/NamedNodeMap.getLength:()I
         * 134: if_icmpge     203
         * 137: aload_2
         * 138: iload         4
         * 140: invokeinterface org/w3c/dom/NamedNodeMap.item:(I)Lorg/w3c/dom/Node;
         * 145: astore        5
         * 147: aload_3
         * 148: new           java/lang/StringBuilder
         * 151: dup
         * 152: invokespecial java/lang/StringBuilder."<init>":()V
         * 155: ldc
         * 157: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 160: aload         5
         * 162: invokeinterface org/w3c/dom/Node.getNodeName:()Ljava/lang/String;
         * 167: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 170: ldc           =\"
         * 172: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 175: aload         5
         * 177: invokeinterface org/w3c/dom/Node.getNodeValue:()Ljava/lang/String;
         * 182: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 185: ldc           \"
         * 187: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 190: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 193: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 196: pop
         * 197: iinc          4, 1
         * 200: goto          126
         * 203: aload_3
         * 204: ldc           >
         * 206: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 209: pop
         * 210: getstatic     java/lang/System.out:Ljava/io/PrintStream;
         * 213: aload_3
         * 214: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 217: invokevirtual java/io/PrintStream.println:(Ljava/lang/String;)V
         * 220: goto          258
         * 223: getstatic     java/lang/System.out:Ljava/io/PrintStream;
         * 226: new           java/lang/StringBuilder
         * 229: dup
         * 230: invokespecial java/lang/StringBuilder."<init>":()V
         * 233: ldc           <
         * 235: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 238: aload_0
         * 239: invokeinterface org/w3c/dom/Node.getNodeName:()Ljava/lang/String;
         * 244: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 247: ldc           >
         * 249: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 252: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 255: invokevirtual java/io/PrintStream.println:(Ljava/lang/String;)V
         * 258: aload_0
         * 259: invokeinterface org/w3c/dom/Node.getChildNodes:()Lorg/w3c/dom/NodeList;
         * 264: astore_2
         * 265: iconst_0
         * 266: istore_3
         * 267: iload_3
         * 268: aload_2
         * 269: invokeinterface org/w3c/dom/NodeList.getLength:()I
         * 274: if_icmpge     336
         * 277: aload_1
         * 278: invokestatic  com/ilts/sw/utils/StringUtils.isNullOrEmpty:(Ljava/lang/String;)Ljava/lang/Boolean;
         * 281: invokevirtual java/lang/Boolean.booleanValue:()Z
         * 284: ifne          319
         * 287: aload_2
         * 288: iload_3
         * 289: invokeinterface org/w3c/dom/NodeList.item:(I)Lorg/w3c/dom/Node;
         * 294: new           java/lang/StringBuilder
         * 297: dup
         * 298: invokespecial java/lang/StringBuilder."<init>":()V
         * 301: aload_1
         * 302: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 305: ldc
         * 307: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 310: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 313: invokestatic  com/ilts/sw/utils/XmlUtils.prettyXMLPrint:(Lorg/w3c/dom/Node;Ljava/lang/String;)V
         * 316: goto          330
         * 319: aload_2
         * 320: iload_3
         * 321: invokeinterface org/w3c/dom/NodeList.item:(I)Lorg/w3c/dom/Node;
         * 326: aload_1
         * 327: invokestatic  com/ilts/sw/utils/XmlUtils.prettyXMLPrint:(Lorg/w3c/dom/Node;Ljava/lang/String;)V
         * 330: iinc          3, 1
         * 333: goto          267
         * 336: aload_1
         * 337: invokestatic  com/ilts/sw/utils/StringUtils.isNullOrEmpty:(Ljava/lang/String;)Ljava/lang/Boolean;
         * 340: invokevirtual java/lang/Boolean.booleanValue:()Z
         * 343: ifne          353
         * 346: getstatic     java/lang/System.out:Ljava/io/PrintStream;
         * 349: aload_1
         * 350: invokevirtual java/io/PrintStream.print:(Ljava/lang/String;)V
         * 353: getstatic     java/lang/System.out:Ljava/io/PrintStream;
         * 356: new           java/lang/StringBuilder
         * 359: dup
         * 360: invokespecial java/lang/StringBuilder."<init>":()V
         * 363: ldc           </
         * 365: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 368: aload_0
         * 369: invokeinterface org/w3c/dom/Node.getNodeName:()Ljava/lang/String;
         * 374: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 377: ldc           >
         * 379: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 382: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 385: invokevirtual java/io/PrintStream.println:(Ljava/lang/String;)V
         * 388: return
         *  */
        // </editor-fold>
    }

    public static void getXMLString(Node node, String tab, StringBuilder result) {
        // <editor-fold defaultstate="collapsed" desc="Compiled Code">
        /* 0: aload_0
         * 1: invokeinterface org/w3c/dom/Node.getNodeType:()S
         * 6: iconst_3
         * 7: if_icmpne     64
         * 10: aload_1
         * 11: invokestatic  com/ilts/sw/utils/StringUtils.isNullOrEmpty:(Ljava/lang/String;)Ljava/lang/Boolean;
         * 14: invokevirtual java/lang/Boolean.booleanValue:()Z
         * 17: ifne          26
         * 20: aload_2
         * 21: aload_1
         * 22: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 25: pop
         * 26: aload_0
         * 27: invokeinterface org/w3c/dom/Node.getNodeValue:()Ljava/lang/String;
         * 32: invokevirtual java/lang/String.trim:()Ljava/lang/String;
         * 35: astore_3
         * 36: aload_3
         * 37: invokestatic  com/ilts/sw/utils/StringUtils.isNullOrEmpty:(Ljava/lang/String;)Ljava/lang/Boolean;
         * 40: invokevirtual java/lang/Boolean.booleanValue:()Z
         * 43: ifne          55
         * 46: aload_2
         * 47: aload_3
         * 48: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 51: pop
         * 52: goto          61
         * 55: aload_2
         * 56: aload_1
         * 57: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 60: pop
         * 61: goto          398
         * 64: aload_0
         * 65: invokeinterface org/w3c/dom/Node.getNodeType:()S
         * 70: iconst_1
         * 71: if_icmpne     398
         * 74: aload_1
         * 75: invokestatic  com/ilts/sw/utils/StringUtils.isNullOrEmpty:(Ljava/lang/String;)Ljava/lang/Boolean;
         * 78: invokevirtual java/lang/Boolean.booleanValue:()Z
         * 81: ifne          90
         * 84: aload_2
         * 85: aload_1
         * 86: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 89: pop
         * 90: aload_0
         * 91: invokeinterface org/w3c/dom/Node.hasAttributes:()Z
         * 96: iconst_1
         * 97: if_icmpne     248
         * 100: aload_0
         * 101: invokeinterface org/w3c/dom/Node.getAttributes:()Lorg/w3c/dom/NamedNodeMap;
         * 106: astore_3
         * 107: new           java/lang/StringBuilder
         * 110: dup
         * 111: invokespecial java/lang/StringBuilder."<init>":()V
         * 114: astore        4
         * 116: aload         4
         * 118: new           java/lang/StringBuilder
         * 121: dup
         * 122: invokespecial java/lang/StringBuilder."<init>":()V
         * 125: ldc           <
         * 127: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 130: aload_0
         * 131: invokeinterface org/w3c/dom/Node.getNodeName:()Ljava/lang/String;
         * 136: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 139: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 142: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 145: pop
         * 146: iconst_0
         * 147: istore        5
         * 149: iload         5
         * 151: aload_3
         * 152: invokeinterface org/w3c/dom/NamedNodeMap.getLength:()I
         * 157: if_icmpge     227
         * 160: aload_3
         * 161: iload         5
         * 163: invokeinterface org/w3c/dom/NamedNodeMap.item:(I)Lorg/w3c/dom/Node;
         * 168: astore        6
         * 170: aload         4
         * 172: new           java/lang/StringBuilder
         * 175: dup
         * 176: invokespecial java/lang/StringBuilder."<init>":()V
         * 179: ldc
         * 181: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 184: aload         6
         * 186: invokeinterface org/w3c/dom/Node.getNodeName:()Ljava/lang/String;
         * 191: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 194: ldc           =\"
         * 196: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 199: aload         6
         * 201: invokeinterface org/w3c/dom/Node.getNodeValue:()Ljava/lang/String;
         * 206: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 209: ldc           \"
         * 211: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 214: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 217: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 220: pop
         * 221: iinc          5, 1
         * 224: goto          149
         * 227: aload         4
         * 229: ldc           >
         * 231: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 234: pop
         * 235: aload_2
         * 236: aload         4
         * 238: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 241: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 244: pop
         * 245: goto          282
         * 248: aload_2
         * 249: new           java/lang/StringBuilder
         * 252: dup
         * 253: invokespecial java/lang/StringBuilder."<init>":()V
         * 256: ldc           <
         * 258: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 261: aload_0
         * 262: invokeinterface org/w3c/dom/Node.getNodeName:()Ljava/lang/String;
         * 267: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 270: ldc           >
         * 272: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 275: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 278: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 281: pop
         * 282: aload_0
         * 283: invokeinterface org/w3c/dom/Node.getChildNodes:()Lorg/w3c/dom/NodeList;
         * 288: astore_3
         * 289: iconst_0
         * 290: istore        4
         * 292: iload         4
         * 294: aload_3
         * 295: invokeinterface org/w3c/dom/NodeList.getLength:()I
         * 300: if_icmpge     348
         * 303: aload_1
         * 304: invokestatic  com/ilts/sw/utils/StringUtils.isNullOrEmpty:(Ljava/lang/String;)Ljava/lang/Boolean;
         * 307: invokevirtual java/lang/Boolean.booleanValue:()Z
         * 310: ifne          329
         * 313: aload_3
         * 314: iload         4
         * 316: invokeinterface org/w3c/dom/NodeList.item:(I)Lorg/w3c/dom/Node;
         * 321: aload_1
         * 322: aload_2
         * 323: invokestatic  com/ilts/sw/utils/XmlUtils.getXMLString:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/StringBuilder;)V
         * 326: goto          342
         * 329: aload_3
         * 330: iload         4
         * 332: invokeinterface org/w3c/dom/NodeList.item:(I)Lorg/w3c/dom/Node;
         * 337: aload_1
         * 338: aload_2
         * 339: invokestatic  com/ilts/sw/utils/XmlUtils.getXMLString:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/StringBuilder;)V
         * 342: iinc          4, 1
         * 345: goto          292
         * 348: aload_1
         * 349: invokestatic  com/ilts/sw/utils/StringUtils.isNullOrEmpty:(Ljava/lang/String;)Ljava/lang/Boolean;
         * 352: invokevirtual java/lang/Boolean.booleanValue:()Z
         * 355: ifne          364
         * 358: aload_2
         * 359: aload_1
         * 360: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 363: pop
         * 364: aload_2
         * 365: new           java/lang/StringBuilder
         * 368: dup
         * 369: invokespecial java/lang/StringBuilder."<init>":()V
         * 372: ldc           </
         * 374: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 377: aload_0
         * 378: invokeinterface org/w3c/dom/Node.getNodeName:()Ljava/lang/String;
         * 383: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 386: ldc           >
         * 388: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 391: invokevirtual java/lang/StringBuilder.toString:()Ljava/lang/String;
         * 394: invokevirtual java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         * 397: pop
         * 398: return
         *  */
        // </editor-fold>
    }

    public static Boolean isDocumentSigned(Node node) {
        // <editor-fold defaultstate="collapsed" desc="Compiled Code">
        /* 0: iconst_0
         * 1: invokestatic  java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
         * 4: astore_1
         * 5: aconst_null
         * 6: astore_2
         * 7: aload_0
         * 8: invokeinterface org/w3c/dom/Node.hasChildNodes:()Z
         * 13: iconst_1
         * 14: if_icmpne     24
         * 17: aload_0
         * 18: invokeinterface org/w3c/dom/Node.getChildNodes:()Lorg/w3c/dom/NodeList;
         * 23: astore_2
         * 24: aload_2
         * 25: ifnull        78
         * 28: iconst_0
         * 29: istore_3
         * 30: iload_3
         * 31: aload_2
         * 32: invokeinterface org/w3c/dom/NodeList.getLength:()I
         * 37: if_icmpge     78
         * 40: aload_2
         * 41: iload_3
         * 42: invokeinterface org/w3c/dom/NodeList.item:(I)Lorg/w3c/dom/Node;
         * 47: astore        4
         * 49: aload         4
         * 51: invokeinterface org/w3c/dom/Node.getNodeName:()Ljava/lang/String;
         * 56: ldc           signature
         * 58: invokevirtual java/lang/String.compareToIgnoreCase:(Ljava/lang/String;)I
         * 61: ifne          72
         * 64: iconst_1
         * 65: invokestatic  java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean;
         * 68: astore_1
         * 69: goto          78
         * 72: iinc          3, 1
         * 75: goto          30
         * 78: aload_1
         * 79: areturn
         *  */
        // </editor-fold>
    }

    public static String getSignatureValue(Document docObj) {
        // <editor-fold defaultstate="collapsed" desc="Compiled Code">
        /* 0: ldc
         * 2: astore_1
         * 3: aload_0
         * 4: ifnull        40
         * 7: aload_0
         * 8: ldc           Signature
         * 10: invokeinterface org/w3c/dom/Document.getElementsByTagName:(Ljava/lang/String;)Lorg/w3c/dom/NodeList;
         * 15: astore_2
         * 16: aload_2
         * 17: ifnull        40
         * 20: aload_2
         * 21: invokeinterface org/w3c/dom/NodeList.getLength:()I
         * 26: ifle          40
         * 29: aload_2
         * 30: iconst_0
         * 31: invokeinterface org/w3c/dom/NodeList.item:(I)Lorg/w3c/dom/Node;
         * 36: invokestatic  com/ilts/sw/utils/StringUtils.extractXMLElement:(Lorg/w3c/dom/Node;)Ljava/lang/String;
         * 39: astore_1
         * 40: aload_1
         * 41: areturn
         *  */
        // </editor-fold>
    }
}

Как мне проанализировать символы в теге, чтобы такой же точный текст, но без смешного?

...