-2

行を実行すると、XMLを取得してvarマーカーに入れようとしています

var markers = xml.documentElement.getElementsByTagName("marker");

XML が null であるというエラーが表示されます。XML を生成するファイルを実行したときに取得する XML は次のとおりです。

This XML file does not appear to have any style information associated with it. The document tree is shown below.
  <markers>
 <marker name="funtimes" address="5451 Forest Cove Lane" lat="34.1519" lng="-118.774717" type="Basketball" desc="going to play fun times with fun people" date="2012-12-29" time="23:00:00" eventcap="4" eventcur="10" eventid="1" admin="true"/>
 <marker name="Event test" address="1231 fake st" lat="34.1517" lng="-118.77234" type="Cycling" desc="just a description" date="2013-01-31" time="12:00:00" eventcap="10" eventcur="4" eventid="2" admin="true"/>
 <marker name="Event test 2" address="1231 fake st" lat="34.1512" lng="-118.77421" type="Football" desc="just a description 2" date="2013-01-31" time="12:00:00" eventcap="10" eventcur="3" eventid="3" admin="true"/>
 <marker name="funtimes" address="5451 Forest Cove Lane" lat="34.1519" lng="-118.774717" type="Basketball" desc="going to play fun times with fun people" date="2012-12-29" time="23:00:00" eventcap="4" eventcur="10" eventid="1" admin="false"/>    
 <marker name="Event test" address="1231 fake st" lat="34.1517" lng="-118.77234" type="Cycling" desc="just a description" date="2013-01-31" time="12:00:00" eventcap="10" eventcur="4" eventid="2" admin="false"/>
 <marker name="Event test 2" address="1231 fake st" lat="34.1512" lng="-118.77421" type="Football" desc="just a description 2" date="2013-01-31" time="12:00:00" eventcap="10" eventcur="3" eventid="3" admin="false"/>
 <marker name="Event test 3" address="2142 fake st" lat="34.1602" lng="-118.77789" type="Football" desc="just a description 3" date="2013-01-28" time="13:00:00" eventcap="8" eventcur="2" eventid="4" admin="false"/>
 </markers>

これが周囲のコードの一部です

downloadUrl("mapXML2.php", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");

 function downloadUrl(url, callback) {
      var request = window.ActiveXObject ?
      new ActiveXObject('Microsoft.XMLHTTP') :
      new XMLHttpRequest;

  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      request.onreadystatechange = doNothing;
      callback(request, request.status);
    }
  };

  request.open('GET', url, true);
  request.send(null);
}
4

1 に答える 1

1

エラーなしで生成された XML を使用して、前の質問のコードを実行しました。header("Content-type: text/xml")私のファイルで行が削除された場合、エラーUncaught TypeError: Cannot read property 'documentElement' of nullThis shows you are not sent the header. が表示されます。実際の出力が送信される前に、通常の HTML タグ、ファイル内の空白行、または PHP から header() を呼び出す必要があることに注意してください。

試す

header("Content-type: text/xml");
// Start XML file, create parent node
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
//Connect to database
于 2013-02-12T15:16:16.090 に答える