matlab.io.xml.dom.Entity class

Пакет: matlab.io.xml.dom

Сущность, определяемая типом документа

Описание

Объект matlab.io.xml.dom.Entity класс представляет сущность XML. Сущность XML является содержимым документа, которое имеет имя и определяется определением типа документа, связанным с документом. The getEntities метод matlab.io.xml.dom.DocumentType объект возвращает список сущностей, заданных типом документа как matlab.io.xml.dom.NamedNodeMap объект. Используйте item метод NamedNodeMap объект, чтобы вернуть Entity объект, находящийся в списке.

Примечание

Система координат Entity объект наследует методы и свойства от matlab.io.xml.dom.Node класс, который неэффективен или вызывает ошибки при использовании со Entity объект. Используйте только методы и свойства, задокументированные на этой странице.

The matlab.io.xml.dom.Entity класс является handle класс.

Атрибуты класса

ConstructOnLoad
true
HandleCompatible
true

Для получения информации об атрибутах класса см. раздел «Атрибуты класса».

Свойства

расширить все

Кодировка исходного документа сущности, заданная как вектор символов.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Общий идентификатор исходного документа сущности, заданный как вектор символов. Значение свойства устанавливается равным общедоступному идентификатору, заданному объявлением типа документа, из которого была проанализирована эта сущность.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Идентификатор системы исходного документа сущности, заданный как вектор символов. Значение свойства устанавливается в положение, заданное объявлением типа документа, из которого была проанализирована эта сущность.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Кодировка, заданная XML-объявлением в исходном файле, из которого был проанализирована эта сущность, заданная как вектор символов.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

XML-версия, заданная XML-объявлением в исходном файле, из которого была проанализирована эта сущность, заданная как вектор символов.

Атрибуты:

GetAccess
public
SetAccess
immutable
Transient
true
NonCopyable
true

Методы

расширить все

Примеры

свернуть все

В этом примере показано, как получить доступ к типу документа и информации о сущности в документе DOM, который был проанализирован из разметки XML, содержащей определение типа документа (DTD).

В примере используются эти файлы, которые должны быть все в одной папке:

  • book.xml содержит определение типа документа, которое объявляет, что ресурс для chapter сущность chapter.xml.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book [
<!ENTITY chapter SYSTEM "chapter.xml">
]>
<book>
    &chapter;
</book>
  • chapter.xml содержит разметку для главы.

<?xml version="1.0" encoding="UTF-8"?>
<chapter><title color="red">Introduction</title></chapter>

Анализ XML-кода в matlab.io.xml.dom.Document объект.

import matlab.io.xml.dom.*

doc = parseFile(Parser,'book.xml');

Для получения информации о типе документа используйте getDoctype метод Document объект.

docTypeObj = getDoctype(doc)
docTypeObj = 
  DocumentType with properties:

              Name: 'book'
          PublicID: ''
          SystemID: ''
    InternalSubset: '...'
       TextContent: ''
          Children: [1x0 matlab.io.xml.dom.Node]

Для получения информации о сущностях, определенных типом документа, используйте getEntities метод DocumentType объект. Метод возвращает список сущностей как NamedNodeMap объект.

namedNodeMapObj = getEntities(docTypeObj);

Как вернуть matlab.io.xm.dom.Entity объекты, которые представляют сущности, используют item метод NamedNodeMap объект. Укажите первый индекс равным 0.

n = getLength(namedNodeMapObj)-1;
for i=0:n
    item(namedNodeMapObj,i)
end
ans = 
  Entity with properties:

    InputEncoding: 'UTF-8'
         PublicID: ''
         SystemID: 'chapter.xml'
      XMLEncoding: 'UTF-8'
       XMLVersion: '1.0'
      TextContent: '...'
         Children: [1x2 matlab.io.xml.dom.Node]

Введенный в R2021a