Атрибуты XML
- Предыдущая страница Элементы XML
- Следующая страница Пространства имен XML
Элементы XML могут содержать атрибуты в начале тега, как в HTML.
Атрибут (Attribute) предоставляет дополнительную (дополнительную) информацию о элементе.
Атрибуты XML должны быть окружены кавычками
Значение атрибута должно быть окружено кавычками, но можно использовать как одинарные, так и двойные кавычки.
Например, пол человека, тег <person> можно записать так:
<person gender="female">
Или так же можно:
<person gender='female'>
Если значение атрибута само содержит двойные кавычки, вы можете использовать одинарные кавычки, как показано в следующем примере:
<gangster name='George "Shotgun" Ziegler'>
Или вы можете использовать символы-дубликаты:
<gangster name="George "Shotgun" Ziegler">
Элементы XML и атрибуты
Пожалуйста, посмотрите на эти примеры:
<person gender="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> <person> <gender>female</gender> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>
В первом примере sex является атрибутом. Во втором примере sex является подэлементом. Оба примера могут предоставлять одну и ту же информацию.
В XML нет правил, которые告诉我们, когда использовать атрибуты, а когда использовать подэлементы. Мой опыт показывает, что в HTML атрибуты очень удобны, но в XML вы должны стараться избегать использования атрибутов. Если информация кажется вам как данными, то используйте подэлементы.
Мой любимый способ
Ниже приведены три XML документа, содержащие одну и ту же информацию:
В первом примере используется атрибут date:
<note date="2008-01-10"> <to>George</to> <from>John</from> </note>
Во втором примере используется элемент <date>:
<note> <date>2008-01-10</date> <to>George</to> <from>John</from> </note>
В третьем примере используется расширенный элемент date (это мой любимый):
<note> <date> <year>2008</year> <month>01</month> <day>10</day> </date> <to>George</to> <from>John</from> </note>
Избегать использования XML атрибутов?
Некоторые вещи, о которых нужно помнить при использовании атрибутов:
- Атрибуты не могут содержать несколько значений (элементы могут)
- Атрибуты не могут описывать структуру дерева (элементы могут)
- Атрибуты трудно расширять (для будущих изменений)
Постарайтесь использовать элементы для описания данных. Использование атрибутов только для предоставления информации, не связанной с данными.
Не делайте таких глупостей (это не то, как XML должен использоваться):
<note day="10" month="01" year="2008" to="George" from="John" heading="Reminder" body="Don't forget the meeting!" </note>
Атрибуты XML для метаданных
Иногда идентификаторы ID назначаются элементам. Эти идентификаторы индексов могут использоваться для идентификации XML элементов, и они работают так же, как атрибут ID в HTML. Этот пример демонстрирует这种情况:
<messages> <note id="501"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> <note id="502"> <to>John</to> <from>George</from> <heading>Re: Reminder</heading> <body>I will not</body> </note> </messages>
Верхний ID - это всего лишь идентификатор, используемый для идентификации различных меток. Это не часть данных метки.
Мы стараемся передать вам идею: метаданные (данные о данных) должны храниться в атрибутах, а данные themselves должны храниться в элементах.
- Предыдущая страница Элементы XML
- Следующая страница Пространства имен XML