Uber Uploader XML 错误:使用 hwdMediaShare 在第 1 行XML_ERR_NAME_REQUIRED

Uber Uploader XML ERROR: XML_ERR_NAME_REQUIRED at line 1 with hwdMediaShare

提问人:Ozzy 提问时间:8/4/2015 最后编辑:James WebsterOzzy 更新时间:11/17/2023 访问量:1025

问:

Uber 上传器运行良好,然后突然它不起作用并出现以下错误:

XML 错误:第 1 行XML_ERR_NAME_REQUIRED

它偶尔会再次开始工作,然后回到这个问题。

php xml joomla

评论


答:

2赞 Ozzy 8/4/2015 #1

发生此错误的原因是 joomla 32 位随机表单标记有时以数字开头,从而导致 .redirect xml 文件中的标记无效。

一个快速的解决方法是在解析之前重命名无效的 xml 标记:

  1. 打开 joomla\components\com_hwdmediashare\libraries\uber\ubr_finished_lib.php

  2. 将以下代码添加到function parseFeed()

    # Precede invalid tag names with key_
    $xml_post_data = preg_replace('/\<([0-9][^\>]*)\>([^\<]*)\<\/([0-9][^\>]*)\>/',
    '<key_$1>$2</key_$3>', $xml_post_data);
    

或者,如果您不需要 joomla 表单令牌,请将其删除。

0赞 Alex Szücs 11/17/2023 #2

对我来说,问题是标签中的无效字符。
为了验证我的 XML,我使用了: https://codebeautify.org/xmlvalidator

这些字符必须在标签 afaik 中替换。

$x   = str_replace(
                ['&'    , '<'   , '>'   , '"'     , "'"     ], 
                ['&amp;', '&lt;', '&gt;', '&quot;', '&apos;'], $x);