2011-08-09 42 views
-2

可能重複:
XML attribute vs XML elementXML屬性<item id="1"> VS

是什麼片段之間的 「A」 的區別:和放置「ID

<root> 
    <item id="1"> 
     <attr1> foo </attr1> 
     <attr2> bar </attr2> 
    </item> 
</root> 

「片段」B「中元素內的屬性:

<root> 
    <item> 
     <id> 1 </id> 
     <attr1> foo </attr1> 
     <attr2> bar </attr2> 
    </item> 
</root> 

以及如何將添加屬性「ID」的片段用PHP創建XML時,「A」假設我已經可以創建就好使用DOM的createElement()appendChild的片斷「B」的形式?

謝謝!

+0

*(reference)* http://php.net/manual/en/domelement.setattribute.php – Gordon

+0

*(google)* [when + to + use + attributes + vs + elements](https:// encrypted .google.com/search?q = when + to + use + attributes + vs + elements) – Gordon

+0

我不知道實際的術語,我很抱歉 – IDLacrosseplayer

回答

1

「ID」是段「A」的屬性,並在段「B」的節點之後。您可以使用setAttribute添加此項。

+0

感謝您的支持。我不知道他們是什麼或他們被稱爲什麼(因此我無法搜索他們)。顯然這在S.O上幾乎是犯罪。考慮downvotes。 – IDLacrosseplayer

1

使用的setAttribute的屬性添加到DOM元素:

$domNode->setAttribute("id", "youridvalue"); 

兩者之間唯一的區別是用來獲取值後面的語法,並在一個您要添加的屬性,其他你正在添加一個標籤。要麼工作,我更喜歡屬性。

+0

這個區別不僅僅是語法上的。您可以在元素中使用CDATA部分,但不能使用屬性。此外,該屬性在整個文檔中應該是唯一的,並且是特殊處理的主題:http://www.w3.org/TR/xml-id/#processing – Zecc

1

您可以撥打$element->setAttribute($name, $value)您所創建的id元素