Tôi đang cố gắng thay đổi giá trị của một số nút trong một tệp XML rất lớn được tải trong bộ nhớ từ một biểu mẫu web.Thay đổi giá trị XML trong bộ nhớ bằng xQuery
Các tập tin thu được như thế này:
let $file := xdmp:get-request-field("xml_to_upload")
Vì vậy, như bạn sẽ nhìn thấy tập tin là trong bộ nhớ.
Bây giờ, tôi cần phải thay đổi giá trị của hàng ngàn nút, và cho đến nay tôi đã không thể làm điều đó một cách tối ưu.
Bất kỳ ý tưởng nào?
Một số trong những điều tôi đã tryied cho đến nay:
let $auxVar :=
if($fileStructureIsValid) then
(
for $currentNode in xdmp:unquote($file)//ID
let $log := xdmp:log(fn:concat("newNodeValue", ": ", mem:replace($currentNode, element ID{ fn:concat($subject, "-", fn:data($currentNode)) })))
return fn:concat($subject, "-", fn:data($currentNode))
)
else
(
)
Thư viện mem là một phong tục tải một.
Để hoàn chỉnh, một lựa chọn thứ ba là để áp dụng một XSLT chuyển đổi các tài liệu trong bộ nhớ. – ehennum