以下代码创建一个 XML 文件,但最后一行是空白的,这会在验证时导致问题。
如何更改以下代码,以使输出的文件末尾没有空行?
<?php
$xmlFileName = 'testoutput.xml';
$xml = new XMLWriter;
$xml->openURI($xmlFileName);
$xml->startDocument('1.0', 'UTF-8');
$xml->setIndent(1);
$xml->startElement('name');
$xml->text('jim');
$xml->endElement();
$xml->endDocument();
$xml->flush();
?>
@DavidRR,当我使用以下代码验证 XML 文件时出现验证问题,它告诉我“文档末尾有额外内容”:
$schema = 'test.xsd';
$files[] = 'test1.xml';
$files[] = 'test2.xml';
foreach ($files as $file) {
validateXml($file, $schema);
}
function validateXml($xmlFile, $xsdFile) {
$dom = new DOMDocument;
$dom->load($xmlFile);
libxml_use_internal_errors(true); // enable user error handling
echo "Validating <b>$xmlFile</b> with <b>$xsdFile</b>:";
if ($dom->schemaValidate($xsdFile)) {
echo '<div style="margin-left:20px">ok</div>';
} else {
$errors = libxml_get_errors();
if (count($errors) > 0) {
echo '<ul style="color:red">';
foreach ($errors as $error) {
//var_dump($error);
echo '<li>' . $error->message . '</li>';
}
echo '</ul>';
}
libxml_clear_errors();
echo '</span>';
libxml_use_internal_errors(false); // enable user error handling
}
}