PHP Tidyを使用して、DomDocumentにロードする前にxmlが有効であることを確認したいと思います。
ただし、Tidyにフォーマットを変更させたくはありません。タグの不均衡などの問題を修復するためだけに、必要です。
問題の例は、次のページで確認できます:http ://www.tek-tips.com/viewthread.cfm?qid=1654452
私自身の例は次のとおりです。
入力:(<ex><context>собр<stress>а</stress>ние</context> акцион<stress>е</stress>ров — <stress>aa</stress>ndeelhoudersvergadering</ex>これはすでに有効なxmlです)
期待される出力:(と<ex><context>собр<stress>а</stress>ние</context> акцион<stress>е</stress>ров — <stress>aa</stress>ndeelhoudersvergadering</ex>
の間に空白が</context>ありますактион)
実際の出力:
<ex>
<context>собр
<stress>а</stress>ние</context>акцион
<stress>е</stress>ров — 
<stress>aa</stress>ndeelhoudersvergadering</ex>
</context>(との間のスペースが削除されактион、テキストが判読できなくなり、各タグの後に改行が挿入されました)
私のコードは次のとおりです。
function TidyXml($inputXml)
    {
        $config = array(
            'indent'         => false,
            'output-xml'     => true,
            'input-xml'     => true,
        );
        $tidy = new tidy();
        $tidy->parseString($inputXml, $config, 'utf8');
        $tidy->cleanRepair();
        $cleanXml = tidy_get_output($tidy);
        return $cleanXml;
    }
いくつかのオプションを変更しようとしましたが、成功しませんでした。