主题
合并文档 - XmlMergeDocuments
函数简介
合并两个XML文档。
接口名称
XmlMergeDocumentsDLL调用
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 | 成功。 |
| 其他 | 错误码,失败。 |
注意事项
| 项目 | 说明 |
|---|---|
| 源文档的根元素的所有子元素会被添加到目标文档的根 | 源文档的根元素的所有子元素会被添加到目标文档的根元素中。 |
| 源文档不会被修改 | 源文档不会被修改。 |
| 合并后可能需要处理重复元素 | 合并后可能需要处理重复元素。 |
