2011-07-06 7 views
1
$xml = new DOMDocument(); 
$xml_store_inventory = $xml->createElement('store-inventory'); // highest layer 
$xml_item = $xml->createElement('item'); 
$xml_quantity = $xml->createElement('quantity'); 

$xml->appendChild($xml_store_inventory); 
$xml_store_inventory->appendChild($xml_item); 
$xml_location->appendChild($xml_quantity); 

が与える:だからPHP DOM:XMLデータ内の移入値は

<?xml version="1.0"?> 
<store-inventory> 
    <item> 
     <quantity></quantity> 
    </item> 
</store-inventory> 

を、私はDOMを使ってPHPで上記を作成するために管理しました。私は "人口を埋める"方法についてオンラインで検索してきましたが、私はこれを行う方法に関する情報は見つけていません。具体的には

、私はこれがそう、この

<?xml version="1.0" encoding="UTF-8"?> 
<store-inventory 
xmlns="http://..." 
xmlns:xsi="http://..." 
xsi:schemaLocation="http://..."> 

    <item item-id="abcd"> 
     <quantity>0</quantity> 
    </item> 
</store-inventory> 

ようになりたいのですが、私が変更/追加したい次

  1. 変更エンコーディングを含むようにXMLバージョンライン(これを削り取って、> $ xml =新しいDOMDocument( '1.0'、 'UTF-8');)
  2. 要素に情報を追加します。例えば[アイテム]の[アイテムのアイテム-ID = "ABCD"]
  3. また、[数量] 0 [/数量]

に[数量]は、誰かがこれで私を助けることができますか? TIA!

+0

私はそれに気づいたばかりです。私の以前の投稿にいくつかの訪問をした後、それは自分の投稿にソリューションをマーキングするためのものだと思われます。それは私には起こりませんでした。申し訳ありません、私はちょっと新しいです。 – musicliftsme

+0

問題はありません、ちょっとした思い出でした;)。私があなたの質問で理解できないことは、「1. XMLバージョンラインをエンコーディングを含むように変更する」私はXMLでバージョンとエンコーディングの両方を参照しています。何を変更したいですか? – hakre

+0

@hakre、上記のコードの3番目のブロックは、XMLをどのように見せたいかです。私は自分の投稿を更新したので、私は1を考え出したことを反映しました。今は2と3を理解する必要があります! – musicliftsme

答えて

1

あなたはすでにかなり近づいています。

2:属性を設定:

// set/add an attribute: 
$xml_item->setAttribute('item-id', "abcd"); 

3:タグ/要素を追加するとき、データを追加します。

// add an element with data: 
$xml_quantity = $xml->createElement('quantity', '0'); 

2+:使用はhtmlspecialcharsを隠すためにブラウザを防止しますタグ:

echo nl2br(html_specialchars($xml->saveXML(), ENT_QUOTES)); 
+0

ねえ、あなたの忍耐ありがとう!私はDOMのマニュアルを見て#2を考え出しました。私はまだこの " - >"に慣れています。それは私にとって非常に奇妙です。ご協力いただきありがとうございます! – musicliftsme

+0

実際にはさらに2つの質問があります:要素 "store-inventory"の場合、その属性(xmlns、xmlns:xsiなど)は括弧の内側のスペースで区切られますか?また、$ xml-> saveXML()をエコーする方法はありますか?実際にブラウザで印刷するには?私は結果を見るために "ソースコードを見る"ことが必要です。 – musicliftsme

+0

私はあなたをお手伝いできることを嬉しく思います。 ' - >'はオブジェクトメソッド/関数とプロパティ/変数にアクセスするために使われます。 DomDocumentのすべてのメソッドとプロパティについては、マニュアルで説明しています。あなたがすでにそこを掘っているので、あなたは正しい道を歩んでいます。 DomDocumentを使い始めると読むのは大変ですが、使うほど使いやすくなります。 – hakre

関連する問題