10353


現在、PHPで以下のXMLファイルの作成をしようと考えており、

[code]

    <?xml version="1.0" encoding="utf-8"?>
    <root>
      <MarkerData>
        <marker lat="35.507456" lng="139.61758499999996">
          <icon>atlas</icon>
          < content ><![CDATA[
            <p>新横浜駅</p>
          ]]></content>
        </marker>
      </MarkerData>
    </root>
    
[/code]

以下のようなプログラムを作ったのはいいものの、setAttribute()メソッドの部分に2つの属性を入れる方法がわからず困っています。

もし何かご存知の方は是非ご教授ください!!  
よろしくお願い申し上げます。

[code]

    // インスタンスの生成
    $dom = new DomDocument('1.0', 'UTF-8');
    // prefs ノードを追加
    $root = $dom->appendChild($dom->createElement('root'));
    $MarkerData = $root->appendChild($dom->createElement('MarkerData'));
    $marker = $MarkerData->appendChild($dom->createElement('marker'));
    
    
    // code 属性の追加
    $marker->setAttribute('ここがわかりません。');
    // 要素ノードを追加してテキストを入れる
    $marker->appendChild($dom->createElement('icon', 'atlas'));
    $marker->appendChild($dom->createElement('content', '<![CDATA[
            <p>新横浜駅</p>
          ]]>'));
    
    //XML を整形（改行・字下げ）して出力
    $dom->formatOutput = true;
    //保存（上書き）
    $dom->save('prefs.xml');
    
[/code]


CC BY-SA 3.0
2015-05-19T02:59:56.173
10351
2015-05-19T03:40:56.040
9722
question
php xml dom
DOMのsetAttribute()メソッドに属性を2つ加えたい!


`setAttribute()` を二回呼べばいいのではないでしょうか。

[code]

    $marker->setAttribute('lat', '35.507456');
    $marker->setAttribute('lng', '139.61758499999996');
    
[/code]

なおマニュアルのコメントにサンプルコードが書かれていましたから、こちらも参考になるかと思います。

[PHP: DOMDocument -
Manual](http://php.net/manual/ja/class.domdocument.php#82447)


CC BY-SA 3.0
2015-05-19T03:40:56.040
10353
2015-05-19T03:40:56.040
8000
10351
answer