XML-структура изменяется при сохранении в MarkLogic - PullRequest
0 голосов
/ 26 сентября 2018

У меня реализован метод, который принимает XML-содержимое в качестве строкового параметра и записывает его в MarkLogic, используя следующий код.

StringHandle stringHandle = new StringHandle();
stringHandle.set(contents);
XMLDocumentManager manager = client.newXMLDocumentManager();
manager.write("/testdoc.xml", stringHandle);

Когда я посмотрел на сохраненное содержимое в MarkLogic, разница очень великавходящее содержимое xml и сохраненное содержимое.

Например, давайте предположим, что я получаю следующий xml как String

<employee>
    <employeeName>employeeName1</employeeName>
    <contactNumber>contactNumber1</contactNumber>
    <address>
        <country>ABC</country>
        <state>PQR</state>
        <city>MNO</city>
        <street>IJK</street>
    </address>
</employee>

и после вставки его в MarkLogic я вижу содержимое как,

<employee>
        <employeeName>employeeName1</employeeName>
        <contactNumber>contactNumber1</contactNumber>
        <address>
            <country>ABC</country>
            <state>PQR</state>
        </address>
        <city>MNO</city>
        <street>IJK</street>
    </employee>

здесь элементы города и улицы находятся вне элемента адреса.

Пожалуйста, помогите мне разобраться и выяснить, почему это происходит.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Применяется ли какое-либо преобразование к процессу приема внутрь?Обычно по умолчанию MarkLogic не выполняет никаких преобразований.Возможно, перед вставкой XML это может быть преобразовано в новую структуру.Как вы принимаете документ через пут-запрос или mlcp?

0 голосов
/ 27 сентября 2018

Вы пытались изменить свой XML на общие значения ??Под этим я подразумеваю попытку изменить ваш формат XML в простой форме - change all the tags to ALPHABETS like <a><b><c> etc Если это решает вашу проблему, это означает, что у вас есть корреляция между вашим <address>,<city> and <street>, который заставляет его вести себя так.

...