marklogic 使用 node-client-api 保存 xml 文档?
marklogic save xml document with node-client-api?
我似乎无法使用它的 node-client-api 将 xml 文档保存到 marklogic 中。我曾使用以下代码尝试保存虚拟 xml 文档
var marklogic = require('marklogic');
var my = require('../db/env.js');
var db = marklogic.createDatabaseClient(my.connInfo);
console.log("Write a single dummy xml document");
db.documents.write(
{
uri: '/collegiate/testxml.xml',
contentType: 'application/xml',
content: '<entry-list><entry id="horror"></entry></entry-list>'
})
然后我用下面的代码找回了:
var marklogic = require('marklogic');
var my = require('../db/env.js');
var db = marklogic.createDatabaseClient(my.connInfo);
console.log("Read a single xml document");
db.documents.read('/collegiate/testxml.xml')
.result().then(function(document) {
//console.log('\nURI: ' + document.uri);
for (var key in document) {
console.log("key: " + key + " value: " + document.key);
}
}).catch(function(error) {
console.log(error);
});
我从输出中得到的是:
Read a single xml document
key: 0 value: undefined
那么如何正确保存xml文档呢?
问题出在读取的代码中。
因为客户端可以读取多个文档,所以 read() 请求 returns 一个文档数组。
所以,试试像这样的东西:
function(documents) {
for (var i=0; i < documents.length; i++) {
console.log(documents[i].content);
}
}
存储库有一些示例,但重点是 JSON 文档:
https://github.com/marklogic/node-client-api/blob/master/examples/read-documents.js#L27
希望对您有所帮助
我似乎无法使用它的 node-client-api 将 xml 文档保存到 marklogic 中。我曾使用以下代码尝试保存虚拟 xml 文档
var marklogic = require('marklogic');
var my = require('../db/env.js');
var db = marklogic.createDatabaseClient(my.connInfo);
console.log("Write a single dummy xml document");
db.documents.write(
{
uri: '/collegiate/testxml.xml',
contentType: 'application/xml',
content: '<entry-list><entry id="horror"></entry></entry-list>'
})
然后我用下面的代码找回了:
var marklogic = require('marklogic');
var my = require('../db/env.js');
var db = marklogic.createDatabaseClient(my.connInfo);
console.log("Read a single xml document");
db.documents.read('/collegiate/testxml.xml')
.result().then(function(document) {
//console.log('\nURI: ' + document.uri);
for (var key in document) {
console.log("key: " + key + " value: " + document.key);
}
}).catch(function(error) {
console.log(error);
});
我从输出中得到的是:
Read a single xml document
key: 0 value: undefined
那么如何正确保存xml文档呢?
问题出在读取的代码中。
因为客户端可以读取多个文档,所以 read() 请求 returns 一个文档数组。
所以,试试像这样的东西:
function(documents) {
for (var i=0; i < documents.length; i++) {
console.log(documents[i].content);
}
}
存储库有一些示例,但重点是 JSON 文档:
https://github.com/marklogic/node-client-api/blob/master/examples/read-documents.js#L27
希望对您有所帮助