Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы основы ссылка класса NSXMLElement

Опции
Развертывание Target:

На этой странице
Язык:

NSXMLElement

Экземпляры NSXMLElement класс представляет узлы элемента в древовидной структуре XML. NSXMLElement объект может иметь дочерние узлы, в частности прокомментировать узлы, узлы инструкции обработки, текстовые узлы и другой NSXMLElement узлы. Это может также иметь узлы атрибута и узлы пространства имен, связанные с ним (однако, пространство имен, и приписать узлы, не считаются дочерними элементами). Любая попытка добавить a NSXMLDocument узел, NSXMLDTD узел, узел пространства имен или узел атрибута как дочерний элемент повышают исключение. Если Вы добавляете дочерний узел к NSXMLElement возразите и что у дочернего элемента уже есть родитель, NSXMLElement повышает исключение; дочерний элемент должен быть отсоединен или скопирован сначала.

Разделение на подклассы примечаний

Можно разделить на подклассы NSXMLElement если Вы хотите узлы элемента с более специализированными атрибутами или поведением, например, атрибутами абзацев и атрибутами шрифта, указывающими, как должно появиться строковое значение элемента.

Методы для переопределения

Разделять на подклассы NSXMLElement необходимо переопределить основной инициализатор, initWithName:URI:, и методы упоминаются ниже. В большинстве случаев Вы должны только вызвать реализацию суперкласса, добавляя любой специфичный для подкласса код прежде или после вызова, по мере необходимости.

NSXMLElement реализации isEqual: выполнять глубокое сравнение: два NSXMLDocument объекты не считают равными, если у них нет того же имени, тех же дочерних узлов, тех же атрибутов, и т.д. Если Вы хотите различный стандарт сравнения, переопределения isEqual:.

Специальные замечания

Из-за архитектуры и модели данных NSXML, когда это анализирует и обрабатывает источник XML, это не может знать о Вашем подклассе, если Вы не переопределяете метод класса replacementClassForClass: возвратить Ваш пользовательский класс вместо класса NSXML. Если Ваш пользовательский класс не имеет никакого прямого дубликата NSXML — например, это - подкласс NSXMLNode это представляет разделы CDATA — тогда можно обойти дерево после того, как оно было создано и вставляет новый узел, где это необходимо.

Обратите внимание на то, что можно безопасно установить корневой элемент XML-документа (использующий NSXMLDocument setRootElement:метод), чтобы быть экземпляром Вашего подкласса, потому что этот метод только проверяет, чтобы видеть, является ли добавленный узел видом элемента (NSXMLElementKind). Эти меры предосторожности не применяются, конечно при создании дерева XML программно.

Наследование


Соответствует


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.4 и позже.
  • Возвраты NSXMLElement объект инициализируется с указанным именем.

    Объявление

    Swift

    convenience init(name name: String)

    Objective C

    - (instancetype)initWithName:(NSString *)name

    Параметры

    name

    Строка, указывающая имя элемента.

    Возвращаемое значение

    Инициализированный NSXMLElement объект или nil если не успешно выполнялась инициализация.

    Обсуждение

    Строковое представление XML этого объекта <name></name>. Этот метод вызывает initWithName:URI: с набором параметра URI к nil.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвраты NSXMLElement объект, инициализированный с указанным именем и единственным дочерним элементом текстового узла, содержащим указанное значение.

    Объявление

    Swift

    convenience init(name name: String, stringValue string: String?)

    Objective C

    - (instancetype)initWithName:(NSString *)name stringValue:(NSString *)string

    Параметры

    name

    Строка, указывающая имя элемента.

    string

    Строковое значение текстового узла получателя.

    Возвращаемое значение

    Инициализированный NSXMLElement объект или nil если не успешно выполнялась инициализация.

    Обсуждение

    Строковое представление этого объекта <name>string</name>.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • init (XMLString:error:) - initWithXMLString:error: Определяемый инициализатор

    Возвраты NSXMLElement объект, создаваемый из указанной строки, содержащей разметку XML.

    Объявление

    Swift

    init?(XMLString string: String, error error: NSErrorPointer)

    Objective C

    - (instancetype)initWithXMLString:(NSString *)string error:(NSError **)error

    Параметры

    string

    Строка, содержащая разметку XML для элемента.

    error

    По возврату, NSError объект, описывающий любые ошибки или предупреждения, следующие из парсинга разметки.

    Возвращаемое значение

    Инициализированный NSXMLElement объект или nil если не успешно выполнялась инициализация.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • init (name:URI:) - initWithName:URI: Определяемый инициализатор

    Возвраты NSXMLElement объект, инициализированный с указанным именем и URI.

    Объявление

    Swift

    init(name name: String, URI URI: String?)

    Objective C

    - (instancetype)initWithName:(NSString *)name URI:(NSString *)URI

    Параметры

    name

    Строка, указывающая полностью определенное имя элемента.

    URI

    Строка, указывающая пространство имен URI, связанный с элементом.

    Возвращаемое значение

    Инициализированный NSXMLElement объект или nil если не успешно выполнялась инициализация.

    Обсуждение

    Можно искать префикс пространства имен для этого узла элемента на основе его использования URI resolvePrefixForNamespaceURI:. Этот метод является основным инициализатором для NSXMLElement класс.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает дочерние узлы элемента (как NSXMLElement объекты) получателя, которые имеют указанное имя.

    Объявление

    Swift

    func elementsForName(_ name: String) -> [AnyObject]

    Objective C

    - (NSArray *)elementsForName:(NSString *)name

    Параметры

    name

    Строка, указывающая имя дочерних узлов элемента, чтобы найти и возвратиться. Если name полностью определенное имя, тогда этот метод вызывает elementsForLocalName:URI: с набором параметра URI к URI, связанному с префиксом. Иначе сравнение основывается на строковом равенстве квалифицированного или неполностью определенного имени.

    Возвращаемое значение

    Массив NSXMLElement объекты или пустой массив, если не могут быть найдены никакие дочерние элементы соответствия.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает дочерние узлы элемента (как NSXMLElement объекты) получателя, которые являются соответствующими указанному локальному имени и URI.

    Объявление

    Swift

    func elementsForLocalName(_ localName: String, URI URI: String?) -> [AnyObject]

    Objective C

    - (NSArray *)elementsForLocalName:(NSString *)localName URI:(NSString *)URI

    Параметры

    localName

    Строка, указывающая локальное имя элемента.

    URI

    Строка, указывающая URI, связалась с элементом.

    Возвращаемое значение

    Массив NSXMLElement объекты или пустой массив, если не могли бы быть найдены никакие дочерние элементы соответствия.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    – elementsForName:

  • Добавляет дочерний узел в конце текущего списка получателя дочерних элементов.

    Объявление

    Swift

    func addChild(_ child: NSXMLNode)

    Objective C

    - (void)addChild:(NSXMLNode *)child

    Параметры

    child

    Объект узла XML, чтобы добавить к дочерним элементам получателя.

    Обсуждение

    Новый узел имеет индексное значение, которое является одним большим, чем последний из текущих дочерних элементов.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Вставляет новый дочерний узел в указанном расположении в списке получателя дочерних узлов.

    Объявление

    Swift

    func insertChild(_ child: NSXMLNode, atIndex index: Int)

    Objective C

    - (void)insertChild:(NSXMLNode *)child atIndex:(NSUInteger)index

    Параметры

    child

    Объект узла XML, который будет вставлен как дочерний элемент получателя.

    index

    Целое число, идентифицирующее позицию в списке получателя дочерних элементов. Исключение повышено если index выходит за пределы.

    Обсуждение

    Вставка узла постепенно увеличивает индексы одноуровневых узлов после него.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Вставляет массив дочерних узлов в указанном расположении в списке получателя дочерних элементов.

    Объявление

    Swift

    func insertChildren(_ children: [AnyObject], atIndex index: Int)

    Objective C

    - (void)insertChildren:(NSArray *)children atIndex:(NSUInteger)index

    Параметры

    children

    Массив объектов узла XML для добавления как дочерние элементы получателя.

    index

    Целое число, идентифицирующее позицию в списке получателя дочерних элементов. Исключение повышено если index выходит за пределы.

    Обсуждение

    Вставка узла увеличивает индексы одноуровневых узлов после него количеством children.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Удаляет дочерний узел получателя, идентифицированного данным индексом.

    Объявление

    Swift

    func removeChildAtIndex(_ nodeIndex: Int)

    Objective C

    - (void)removeChildAtIndex:(NSUInteger)nodeIndex

    Параметры

    nodeIndex

    Целое число, идентифицирующее узел в списке получателя дочерних элементов для удаления. Исключение повышено если index выходит за пределы.

    Обсуждение

    Объект узла XML выпущен после удаления. Индексы последующих дочерних элементов постепенно уменьшаются одним.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Заменяет дочерний узел в указанном расположении с другим дочерним узлом.

    Объявление

    Swift

    func replaceChildAtIndex(_ index: Int, withNode node: NSXMLNode)

    Objective C

    - (void)replaceChildAtIndex:(NSUInteger)index withNode:(NSXMLNode *)node

    Параметры

    index

    Целое число, идентифицирующее позицию в списке получателя дочерних элементов. Исключение повышено если index выходит за пределы.

    node

    Объект узла XML, который заменит текущий дочерний элемент.

    Обсуждение

    Замененный объект узла XML выпущен после удаления.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Наборы все дочерние узлы получателя сразу, заменяя любые существующие дочерние элементы.

    Объявление

    Swift

    func setChildren(_ children: [AnyObject]?)

    Objective C

    - (void)setChildren:(NSArray *)children

    Параметры

    children

    Массив NSXMLElement объекты или NSXMLNode объекты видов NSXMLElementKind, NSXMLProcessingInstructionKind, NSXMLTextKind, или NSXMLCommentKind.

    Обсуждение

    Отправьте это сообщение с children как nil удалить все дочерние узлы.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Объединяет смежные текстовые узлы получателя, который Вы явно добавили, дополнительно включая разделы CDATA.

    Объявление

    Swift

    func normalizeAdjacentTextNodesPreservingCDATA(_ preserve: Bool)

    Objective C

    - (void)normalizeAdjacentTextNodesPreservingCDATA:(BOOL)preserve

    Параметры

    preserve

    YEStrue если разделы CDATA оставлены в покое как текстовые узлы, NOfalse иначе.

    Обсуждение

    Текстовый узел со значением пустой строки удален. При обработке входного источника XML смежные текстовые узлы автоматически нормализованы. Необходимо вызвать этот метод (с preserve как NOfalse) перед использованием NSXMLNode методы objectsForXQuery:constants:error: или nodesForXPath:error:.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    – setChildren:

  • Добавляет узел атрибута к получателю.

    Объявление

    Swift

    func addAttribute(_ anAttribute: NSXMLNode)

    Objective C

    - (void)addAttribute:(NSXMLNode *)anAttribute

    Параметры

    anAttribute

    Объект узла XML, представляющий атрибут. Если получатель уже имеет атрибут с тем же именем, anAttribute заменяет старый атрибут.

    Обсуждение

    Порядок многократных атрибутов сохраняется если NSXMLPreserveAttributeOrder когда элемент создается, опция указана.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает узел атрибута получателя с указанным именем.

    Объявление

    Swift

    func attributeForName(_ name: String) -> NSXMLNode?

    Objective C

    - (NSXMLNode *)attributeForName:(NSString *)name

    Параметры

    name

    Строка, указывающая имя атрибута.

    Возвращаемое значение

    Объект узла XML, представляющий соответствующий атрибут или nil если не был найден никакой такой узел.

    Обсуждение

    Если name полностью определенное имя, тогда этот метод вызывает attributeForLocalName:URI: с набором параметра URI к URI, связанному с префиксом. Иначе сравнение основывается на строковом равенстве квалифицированного или неполностью определенного имени.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает узел атрибута получателя, идентифицирующегося локальным именем и URI.

    Объявление

    Swift

    func attributeForLocalName(_ localName: String, URI URI: String?) -> NSXMLNode?

    Objective C

    - (NSXMLNode *)attributeForLocalName:(NSString *)localName URI:(NSString *)URI

    Параметры

    localName

    Строка, указывающая локальное имя атрибута.

    URI

    Жало, идентифицирующее URI, связалось с атрибутом.

    Возвращаемое значение

    Объект узла XML, представляющий соответствующий атрибут или nil если не был найден никакой такой узел.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает атрибуты получателя

    Объявление

    Swift

    var attributes: [AnyObject]?

    Objective C

    @property(copy) NSArray *attributes

    Возвращаемое значение

    Массив NSXMLNode объекты вида NSXMLAttributeKind или nil если получатель не имеет никаких узлов атрибута.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Удаляет узел атрибута, идентифицированный по имени.

    Объявление

    Swift

    func removeAttributeForName(_ attrName: String)

    Objective C

    - (void)removeAttributeForName:(NSString *)attrName

    Параметры

    attrName

    Строка, указывающая имя атрибута.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Наборы все атрибуты получателя сразу, заменяя любые существующие узлы атрибута.

    Объявление

    Swift

    var attributes: [AnyObject]?

    Objective C

    @property(copy) NSArray *attributes

    Параметры

    attributes

    Массив NSXMLNode объекты вида NSXMLAttributeKind. Если существуют узлы атрибута с тем же именем, первый атрибут с тем именем используется. Отправьте это сообщение с attributes как nil удалить все атрибуты.

    Обсуждение

    Установить атрибуты в узле элемента с помощью NSDictionary возразите как входной параметр, посмотрите setAttributesWithDictionary:.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

  • Устанавливает атрибуты получателя на основе пар ключ/значение, указанных в переданном словаре.

    Объявление

    Swift

    func setAttributesWithDictionary(_ attributes: [NSObject : AnyObject])

    Objective C

    - (void)setAttributesWithDictionary:(NSDictionary *)attributes

    Параметры

    attributes

    Словарь пар ключ/значение, где название атрибута является ключом и объектным значением атрибута, является значением словаря.

    Обсуждение

    Метод использует эти имена и объектные значения для создания NSXMLNode объекты вида NSXMLAttributeKind. Удалены существующие атрибуты.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.7 и позже.

  • Устанавливает атрибуты получателя на основе пар ключ/значение, указанных в переданном - в словаре.

    Оператор осуждения

    Этот метод осуждается, потому что он не функционирует должным образом. Вместо этого используйте setAttributesWithDictionary:.

    Объявление

    Swift

    func setAttributesAsDictionary(_ attributes: [NSObject : AnyObject])

    Objective C

    - (void)setAttributesAsDictionary:(NSDictionary *)attributes

    Параметры

    attributes

    Словарь пар ключ/значение, где название атрибута является ключом и объектным значением атрибута, является значением словаря.

    Обсуждение

    Метод использует эти имена и объектные значения для создания NSXMLNode объекты вида NSXMLAttributeKind. Существующие атрибуты не удалены.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.4 и позже.

    Осуждаемый в OS X v10.7.