Как получить доступ к структуре XML в JCN

Мне нужно прочитать это в структуре XML в вычислительном узле java. На данный момент я могу сделать это, извлекая отдельные элементы дочерними элементами.

Но как получить все элементы сразу в XML-структуре?

int i = 0;
String[] Array = new String[api.getResponse().size()];

while(api.hasNext()) {
        Map<String, String> recInMap= api.getNext();
        xmlnscRoot.getLastChild().createElementAsLastChild(MbElement.TYPE_NAME_VALUE,"Details",null); //Root tag
        xmlnscRoot.getLastChild().getLastChild().createElementAsLastChild(MbElement.TYPE_NAME_VALUE,"ABCD",recInMap.get("ABCD"));
        xmlnscRoot.getLastChild().getLastChild().createElementAsLastChild(MbElement.TYPE_NAME_VALUE,"EFGH",recInMap.get("EFGH"));
        xmlnscRoot.getLastChild().getLastChild().createElementAsLastChild(MbElement.TYPE_NAME_VALUE,"IJKL",recInMap.get("IJKL"));
        .
        .
        .
        .
    Array[i]=(recInChar);//add(CurRecord);
    i=i+1;
}

person Chandrika Deshpande    schedule 21.11.2019    source источник


Ответы (1)


Есть много способов сделать то, что вы хотите сделать.

Вы должны использовать XPath или JAXB (если у вас есть схема), чтобы упростить весь этот синтаксический анализ.

Краткий пример ниже:

MbElement localEnvRootElement= outAssembly.getLocalEnvironment().getRootElement();
MbXPath mbXPath = new MbXPath("Variables/message");
Object resultObj = variablesElem.evaluateXPath(mbXPath);
if (resultObj != null && resultObj instanceof List) {
    listElt = (List<MbElement>) resultObj;
}

Затем все, что вам нужно сделать, это зациклить список MbElement (например: с для каждого) Примечание: этот код получит все элементы в пути $LocalEnv/Variables/Message

person jdel    schedule 06.12.2019