我实现了一个方法,该方法将xml内容作为字符串参数,并使用以下代码将其写入MarkLogic。
StringHandle stringHandle = new StringHandle();
stringHandle.set(contents);
XMLDocumentManager manager = client.newXMLDocumentManager();
manager.write("/testdoc.xml", stringHandle);
当我在MarkLogic中查看保存的内容时,传入的xml内容与保存的内容有很大的区别。
例如,假设我要跟随xml作为字符串
<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>
这里的城市和街道元素不在地址元素之内。
请帮助我解决并确定发生这种情况的原因。
答案 0 :(得分:0)
您是否尝试过将XML更改为常规值?通过这种方式,我的意思是尝试以一种简单的形式更改XML格式-change all the tags to ALPHABETS like <a><b><c> etc
如果可以解决您的问题,则意味着您在<address>,<city> and <street>
之间存在核对作用,从而使其表现为这种方式。
答案 1 :(得分:0)
是否对摄取过程进行了任何转换?通常,默认情况下,MarkLogic不会执行任何转换。在插入XML之前,有可能将其转换为新结构。 您如何通过put请求或mlcp提取文档?