如何将xml文件数据添加到ArangoDb?

时间:2016-01-12 15:20:52

标签: java json xml arangodb

<InputParameters>
    <Textbox>
        <Text>ABCD</Text>
        <Text>EFGH</Text>
        <Text>HIJK</Text>
    </Textbox>
</InputParameters>

假设我必须将此xml文件数据添加到arangodb中。一个人怎么能这样做?

2 个答案:

答案 0 :(得分:2)

有两种正确的解决方案。 一种是将整个XML放入文档的属性中。这对于在xml的有效负载上进行AQL查询而言可能不合适。

另一种可能的方法是使用jsonml将xml转换为结构化的json文档,并将它们存储为using their java library。我不知道它在复杂的XML上如何扩展,如SOAP。

然后,您可以创建AQL查询以处理该集合,并FILTER创建源XML的属性。

答案 1 :(得分:2)

从版本2.7.1开始,aragodb-java-driver支持编写(createDocumentRaw(...))和读取(getDocumentRaw(...)) 原始字符串。

示例:

arangoDriver.createDocumentRaw("testCollection", "{\"test\":123}", 
    true, false);

使用JsonML,您可以将XML字符串转换为JSON字符串并将其存储到ArangoDB中:

// writing
String xml = "<recipe name=\"bread\" prep_time=\"5 mins\"</recipe> ";
JSONObject jsonObject = JSONML.toJSONObject(string);
DocumentEntity<String> entity =     arangoDriver.createDocumentRaw(
         "testCollection", jsonObject.toString(), true, false);
String documentHandle = entity.getDocumentHandle();

// reading
String json = arangoDriver.getDocumentRaw(documentHandle, null, null);
JSONObject jsonObject2 = new JSONObject(str);
String xml2 = JSONML.toString(jsonObject2));

您可以在arangodb-java-driver git repository中找到更多示例。