gpt4 book ai didi

xml - 如何将 xml 放入 couchDB?

转载 作者:数据小太阳 更新时间:2023-10-29 01:41:43 27 4
gpt4 key购买 nike

我想这样做: 1. PUT 一个 xml 字符串到 couchdb 服务器。像这样的东西:

curl -X PUT  http://localhost:5984/db/_design/app/_update/echo/h1
-d "<doc><name1>value1</name1><name2>value2</name2></doc>"
  1. 在 couchdb 服务器端,我将 xml 字符串解析为 json 对象。
  2. 将 json 对象保存为文档。

这可能吗?我该怎么办?

谢谢!

最佳答案

我找到了另一种方法,这里是示例:

  1. 创建数据库

    curl -X PUT http://localhost:5984/bookstore

  2. 创 build 计文档

    curl -X POST http://localhost:5984/bookstore/_bulk_docs -d @design.doc

design.doc 的内容在哪里:

{"docs":
[
{
"_id": "_design/app",
"updates": {
"xml2json": "
function (doc, req) {
if(req.query.doc == null) {
return [null, \"doc is null!\\n\"];
}
var xmlDoc = req.query.doc.replace(/^<\?xml\s+version\s*=\s*([\"'])[^\1]+\1[^?]*\?>/, \"\");
var html = new XML(xmlDoc);
if(doc==null) {
doc = {};
doc._id=html.BookList.BookData.@isbn13.toString();
if(doc._id==null||doc._id==\"\") {
doc._id=html.BookList.BookData.@isbn.toString();
}
}
if (doc._id == null || doc._id == \"\") {
return [null, \"doc id is null!\\n\"];;
}
doc.title = html.BookList.BookData.Title.text();
doc.longtitle = html.BookList.BookData.TitleLong.text();
doc.authors = html.BookList.BookData.AuthorsText.text();
doc.publisher = html.BookList.BookData.PublisherText.text();
return [doc, \"ok!\\n\"];
}"
}
}
]
}
  1. 测试_update

    doc=$(cat isbndb.sample); doc="$(perl -MURI::Escape -e 'print uri_escape($ARGV[0]);' "$doc")"; curl -X PUT http://localhost:5984/bookstore/_design/app/_update/xml2json/9781935182320?doc="$doc"

isbndb.sample 的内容是:

<?xml version="1.0" encoding="UTF-8"?>

<ISBNdb server_time="2010-08-11T04:13:08Z">
<BookList total_results="1" page_size="10" page_number="1" shown_results="1">
<BookData book_id="mastering_perl" isbn="0596527241" isbn13="9780596527242">
<Title>Mastering Perl</Title>
<TitleLong></TitleLong>
<AuthorsText>brian d foylt;/AuthorsText>
<PublisherText publisher_id="oreilly_media">Sebastopol, CA : O'Reilly Media, c2007.</PublisherText>
</BookData>
</BookList>
</ISBNdb>

关于xml - 如何将 xml 放入 couchDB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3437867/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com