Skip to content

合并文档 - XmlMergeDocuments

函数简介

合并两个XML文档。

接口名称

XmlMergeDocuments

DLL调用

c
int32_t XmlMergeDocuments(int64_t targetDoc, int64_t sourceDoc, int32_t* err);

参数说明

参数名类型说明
targetDoc长整数型目标文档句柄。
sourceDoc长整数型源文档句柄。
err整数型错误码输出参数,可为NULL。

示例

SDK 调用

cpp
#include "OLAPlugServer.h"

OLAPlugServer ola;
int32_t err = 0;
int64_t target = ola.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", &err);
int64_t source = ola.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", &err);
if (target != 0 && source != 0) {
    int32_t mergeErr = 0;
    ola.XmlMergeDocuments(target, source, &mergeErr);
    ola.XmlFree(target);
    ola.XmlFree(source);
}
csharp
using OLAPlug;

var ola = new OLAPlugServer();
int err;
long target = ola.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", out err);
long source = ola.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", out err);
if (target != 0 && source != 0)
{
    int mergeErr;
    ola.XmlMergeDocuments(target, source, out mergeErr);
    ola.XmlFree(target);
    ola.XmlFree(source);
}
python
from OLAPlugServer import OLAPlugServer

ola = OLAPlugServer()
xml_str = '<root><user id="1" enabled="true" level="10"><name>ola</name><role>admin</role></user></root>'
target, err = ola.XmlParse(xml_str)
source, err2 = ola.XmlParse(xml_str)
if target and source:
    merge_err = ola.XmlMergeDocuments(target, source)
    ola.XmlFree(target)
    ola.XmlFree(source)
java
import com.olaplug.OLAPlugServer;
import com.sun.jna.ptr.IntByReference;

OLAPlugServer ola = new OLAPlugServer();
IntByReference err = new IntByReference(0);
long target = com.olaplug.OLAPlugDLLHelper.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", err);
long source = com.olaplug.OLAPlugDLLHelper.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", err);
cpp
var ola = com("OlaPlug.OlaSoft")
var err = 0
var target = ola.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", err)
var source = ola.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", err)
vbscript
Set ola = CreateObject("OlaPlug.OlaSoft")
err = 0
target = ola.XmlParse("<root><user id=\""1\"" enabled=\""true\"" level=\""10\""><name>ola</name><role>admin</role></user></root>", err)
text
.局部变量 ola, OLAPlug
ola.创建 ()
err = 0
target = ola.XmlParse (“<root><user id=“1“ enabled=“true“ level=“10“><name>ola</name><role>admin</role></user></root>“, err)
aardio
import OLAPlugServer;
var ola = OLAPlugServer();
var err = 0;
var target = ola.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", err);
text
变量 ola <类型 = OLAPlugServer>
ola = 新建 OLAPlugServer
整数 err = 0
长整数 target = ola.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", err)
cpp
#include "OLAPlugServer.h"

OLAPlugServer ola;
int32_t err = 0;
int64_t target = ola.XmlParse("<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", &err);

原生 DLL 调用

cpp
long instance = CreateCOLAPlugInterFace();
int err = 0;
long target = XmlParse(instance, "<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", &err);
long source = XmlParse(instance, "<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", &err);
if (target != 0) {
    XmlMergeDocuments(instance, target, source, &err);
    XmlFree(instance, target);
    XmlFree(instance, source);
}
csharp
using System.Runtime.InteropServices;
using System.Text;

[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern long CreateCOLAPlugInterFace();

long instance = CreateCOLAPlugInterFace();
int err = 0;
long target = XmlParse(instance, "<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", err);
long source = XmlParse(instance, "<root><user id=\"1\" enabled=\"true\" level=\"10\"><name>ola</name><role>admin</role></user></root>", err);
XmlMergeDocuments(instance, target, source, err);
python
from ctypes import CDLL, c_int, c_int64, create_string_buffer

ola = CDLL("OLAPlug_x64.dll")
ola.CreateCOLAPlugInterFace.restype = c_int64
instance = ola.CreateCOLAPlugInterFace()
xml_str = b'<root><user id="1" enabled="true" level="10"><name>ola</name><role>admin</role></user></root>'
err = c_int(0)
target = ola.XmlParse(instance, xml_str, err)
source = ola.XmlParse(instance, xml_str, err)
ola.XmlMergeDocuments(instance, target, source, err)

返回值

返回值说明
0成功。
其他错误码,失败。

注意事项

项目说明
源文档的根元素的所有子元素会被添加到目标文档的根源文档的根元素的所有子元素会被添加到目标文档的根元素中。
源文档不会被修改源文档不会被修改。
合并后可能需要处理重复元素合并后可能需要处理重复元素。