You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地MediaWiki导出XML编辑后重导入失败求解决方案

问题解决与优化方案

一、修复编辑后XML导入失败的操作

1. 清理XML中的冲突字段

系统提示“No revisions imported”核心原因是XML中的修订信息与现有页面重复,需清理以下字段:

  • 删除<page>标签内的<id>:避免页面ID冲突,让系统通过标题匹配目标页面
  • 移除<revision>下的<parentid>:该字段关联旧修订,会被判定为重复提交
  • 修改<timestamp>为当前/未来时间:确保系统识别为全新修订(格式遵循YYYY-MM-DDTHH:MM:SSZ)
  • 保留<title>和修改后的<text>,可统一设置<contributor>为当前管理员账号,避免贡献者信息冲突

修改前后的XML片段示例:

<!-- 修改前 -->
<page>
  <title>测试页面</title>
  <id>123</id>
  <revision>
    <id>456</id>
    <parentid>455</parentid>
    <timestamp>2023-01-01T00:00:00Z</timestamp>
    <text>旧内容</text>
  </revision>
</page>

<!-- 修改后 -->
<page>
  <title>测试页面</title>
  <revision>
    <timestamp>2024-05-20T12:00:00Z</timestamp>
    <contributor><username>Admin</username></contributor>
    <text>修改后的新内容</text>
  </revision>
</page>

2. 调整导入设置

在Special:Import页面配置:

  • 取消勾选*“忽略重复的修订”*,强制导入新内容
  • 勾选*“将所有修订标记为由当前用户创建”*,避免贡献者信息不匹配
  • 批量页面分批次导入(每次10-20个),避免超时

3. 强制覆盖开关(极端情况)

若上述方法无效,在LocalSettings.php中添加:

$wgImportOverwrite = true;

开启后导入时会强制覆盖现有页面内容,完成后可注释该配置。

二、本地批量编辑内容的更优方案

1. API脚本批量操作

编写脚本调用MediaWiki API,比XML导入更灵活可控,适合批量创建/更新:
示例PHP脚本(适配本地XAMPP环境):

<?php
require_once 'LocalSettings.php';
use MediaWiki\Api\ApiMain;
use MediaWiki\MediaWikiServices;

// 待创建/更新的页面列表
$pages = [
  ["title" => "页面A", "content" => "页面A的批量内容"],
  ["title" => "页面B", "content" => "页面B的批量内容"]
];

$user = MediaWikiServices::getInstance()->getUserFactory()->newFromName('Admin');
$token = $user->getEditToken();

foreach ($pages as $page) {
  $params = [
    'action' => 'edit',
    'title' => $page['title'],
    'text' => $page['content'],
    'summary' => '批量编辑更新',
    'token' => $token,
    'format' => 'json'
  ];
  $api = new ApiMain(new FauxRequest($params));
  $api->execute();
}

2. 专用扩展工具

  • PageExchange:支持结构化批量导入导出,可自定义页面模板,比原生XML更稳定
  • MassEdit:可视化批量选择页面,支持统一替换内容、添加模板等操作,适合快速批量修改

3. 数据库直接操作(仅本地开发环境)

确认数据库备份后,可直接操作page和revision表:

  • 在revision表插入新修订记录,关联对应页面ID
  • 更新page表的page_latest字段指向新修订ID
    注意:此方法需熟悉MediaWiki数据库结构,避免破坏数据

内容的提问来源于stack exchange,提问作者redheadkelly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 08:37:35