From:             timcbest at gmail dot com
Operating system: FreeBSD
PHP version:      5.2.0
PHP Bug Type:     DOM XML related
Bug description:  XML Parsing Error: xml declaration not at start of external 
entity

Description:
------------
When generating XML from DOMDocument I get this error:

Error:
XML Parsing Error: xml declaration not at start of external 
entity
Location: http://test.mysite.com/getcounty.php?state=MS
Line Number 1, Column 2: <?xml version="1.0" encoding="UTF-8"?
>
-^






Reproduce code:
---------------
function formulateResponse($info){
        
        $dom = new DOMDocument('1.0', 'UTF-8');
        $dom->formatOutput = true;
        $root = $dom->createElement('response');
        $root = $dom->appendChild($root);       
        
        foreach($info as $index => $county_array){
                $county = $dom->createElement('county');
                $county = $root->appendChild($county);  
                
                $name = $dom->createTextNode($county_array['county']);
                $name = $county->appendChild($name);    
        
        }
        
        header('Content-Type: text/xml');
        echo $dom->saveXML();
        
}



Expected result:
----------------
I expect the browser to be able to parse the XML below.  
This is the XML generated by the above function.  Whether I 
call it from an Ajax call or directly in the browser 
(Firefox 1.5.0.8 or Safari 2.0.4) the error is generated as 
specified in the description box above.

 <?xml version="1.0" encoding="UTF-8"?>
<response>
  <county>Adams</county>
  <county>Alcorn</county>
  <county>Amite</county>
  <county>Attala</county>
  <county>Benton</county>
  <county>Bolivar</county>
  <county>Calhoun</county>
  <county>Carroll</county>
  <county>Chickasaw</county>
  <county>Choctaw</county>
  <county>Claiborne</county>
  <county>Clarke</county>
  <county>Clay</county>
  <county>Coahoma</county>
  <county>Copiah</county>
  <county>Covington</county>
  <county>De Soto</county>
  <county>Forrest</county>
  <county>Franklin</county>
  <county>George</county>
  <county>Greene</county>
  <county>Grenada</county>
  <county>Hancock</county>
  <county>Harrison</county>
  <county>Hinds</county>
  <county>Holmes</county>
  <county>Humphreys</county>
  <county>Issaquena</county>
  <county>Itawamba</county>
  <county>Jackson</county>
  <county>Jasper</county>
  <county>Jefferson</county>
  <county>Jefferson Davis</county>
  <county>Jones</county>
  <county>Kemper</county>
  <county>Lafayette</county>
  <county>Lamar</county>
  <county>Lauderdale</county>
  <county>Lawrence</county>
  <county>Leake</county>
  <county>Lee</county>
  <county>Leflore</county>
  <county>Lincoln</county>
  <county>Lowndes</county>
  <county>Madison</county>
  <county>Marion</county>
  <county>Marshall</county>
  <county>Monroe</county>
  <county>Montgomery</county>
  <county>Neshoba</county>
  <county>Newton</county>
  <county>Noxubee</county>
  <county>Oktibbeha</county>
  <county>Panola</county>
  <county>Pearl River</county>
  <county>Perry</county>
  <county>Pike</county>
  <county>Pontotoc</county>
  <county>Prentiss</county>
  <county>Quitman</county>
  <county>Rankin</county>
  <county>Scott</county>
  <county>Sharkey</county>
  <county>Simpson</county>
  <county>Smith</county>
  <county>Stone</county>
  <county>Sunflower</county>
  <county>Tallahatchie</county>
  <county>Tate</county>
  <county>Tippah</county>
  <county>Tishomingo</county>
  <county>Tunica</county>
  <county>Union</county>
  <county>Walthall</county>
  <county>Warren</county>
  <county>Washington</county>
  <county>Wayne</county>
  <county>Webster</county>
  <county>Wilkinson</county>
  <county>Winston</county>
  <county>Yalobusha</county>
  <county>Yazoo</county>
  <county>Statewide</county>
</response>

Actual result:
--------------
Error:
XML Parsing Error: xml declaration not at start of external 
entity
Location: http://test.mysite.com/getcounty.php?state=MS
Line Number 1, Column 2: <?xml version="1.0" encoding="UTF-8"?
>
-^

-- 
Edit bug report at http://bugs.php.net/?id=39909&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=39909&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=39909&r=trysnapshot52
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=39909&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=39909&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=39909&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=39909&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=39909&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=39909&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=39909&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=39909&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=39909&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=39909&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=39909&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=39909&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=39909&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=39909&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=39909&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=39909&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=39909&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=39909&r=mysqlcfg

Reply via email to