2009-05-05 97 views
2

在XSD,SOAP和其他XML約定,你會經常看到像:XML:屬性還是孩子?

<book> 
<title>Harry Potter</title> 
<author>J.K. Rowling</author> 
</book> 

現在我想知道,發生了什麼屬性?對我來說更有意義,寫爲:

<book title="Harry Potter" author="J.K. Rowling" /> 

但很顯然,由於某些原因,聰明的人比我選擇了其他方式。 有人可以解釋爲什麼,以及什麼屬性呢?

+0

請參閱: http://stackoverflow.com/questions/241819/xml-best-practices-attributes-vs-additional-nodes – Cuga 2009-05-05 14:37:46

回答

2

有沒有硬性規定。我傾向於使用關於元素中包含的數據的元數據的屬性。例如

<book author="JK Rowling" published="September 2001">Harry Potter</book> 

雖然用法/特殊要求將確定這比anyrhing其他更多。

另一個問題是後續處理。如果您使用的是SAX處理器,則此格式將導致填充了atteribute結構的一個方法回調。將數據放在多個元素中會導致相應數量的方法調用(這可能是一種優化太多了,但可能值得考慮,具體取決於數據量)

+0

+1對於SAX解析器的想法。 – 2012-01-26 14:24:23