要将数据写入XMP(Extensible Metadata Platform),可以使用各种编程语言和库来实现。以下是使用Python和exiftool库来写入XMP的示例代码:

```python
import subprocess
def write_xmp_to_file(file_path, xmp_data):
# 将XMP数据写入文件
cmd = ['exiftool', '-overwrite_original', '-xmp:', '-']
p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
p.communicate(input=xmp_data.encode())
p.stdin.close()
if p.returncode != 0:
raise RuntimeError(f"Failed to write XMP data to file: {file_path}")
file_path = "path/to/your/file.jpg"
xmp_data = """
xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpBags="http://ns.adobe.com/xap/1.0/bags/">
"""
write_xmp_to_file(file_path, xmp_data)
```
以上代码使用Python的`subprocess`模块来调用exiftool命令行工具来写入XMP数据。首先,创建一个`subprocess.Popen`对象来执行exiftool命令,并将XMP数据作为输入。然后通过`communicate`方法将输入数据发送给exiftool进程,最后关闭输入流。如果返回值不是0,表示写入失败。
在XMP数据的构造上,需要根据你的需求来设置具体的元数据。在示例代码中是通过构造一个包含必要命名空间的XMP数据字符串来示范,你可以根据具体的元数据结构和格式来编写XMP数据。
需要注意的是,使用exiftool工具来写入XMP数据意味着你的环境需要安装了exiftool,并且exiftool命令在系统的可执行路径中。如果没有安装,可以去exiftool的官方网站下载并安装。