Jeff
Jeff

Reputation: 4003

Extra content at the end of the document PHP and XML

I having a strange problem when I'm trying to produce an XML file with PHP. The problems is that, a strange question mark appears at the end of the source code. And I get the error: "Extra content at the end of the document"

I'm running this script:

<?php
header("Content-Type: application/xml");
echo "<?xml version=\"1.0\"?>";
?>

<Module>
      <ModulePrefs title="Ngram Extractor"
        author="interedition team"
       description="Ngram Extractor"
        scrolling="true"/>
        <Content type="html">
        Test
        </Content>
</Module>​

When I open this is a browser, I get the state error and the source code looks like this. Notice the strange question mark at the end.

 <?xml version="1.0"?>
<Module>
      <ModulePrefs title="Ngram Extractor"
        author="interedition team"
       description="Ngram Extractor"
        scrolling="true"/>
        <Content type="html">
        Test
        </Content>
</Module>?

Please help.

Upvotes: 4

Views: 25156

Answers (3)

Jpsy
Jpsy

Reputation: 20852

You have a zero width space character at the end of your file - UTF-8 code E2 80 8B. It is placed right after </Module>. Have a look at your file in hex mode. This extra character prevents your browser from recognizing this as valid XML and - depending on the browser in use - shows up as a question mark or does not show up at all.

Remove that extra character and you will be fine.

Upvotes: 7

Jeff
Jeff

Reputation: 4003

I don't really have answer, accept that my editor wasn't showing the question mark. But one I opened the file in notepad2, lo and behold, the question mark was there. Very strange. Thanks for your help.

Upvotes: 0

Ramil Amerzyanov
Ramil Amerzyanov

Reputation: 1291

May be you use UTF-8 with BOM encoding. Check it

Upvotes: 0

Related Questions