Язык

IXmlPullParser Интерфейс

Определение

Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации).

[Android.Runtime.Register("org/xmlpull/v1/XmlPullParser", "", "Org.XmlPull.V1.IXmlPullParserInvoker")]
public interface IXmlPullParser : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("org/xmlpull/v1/XmlPullParser", "", "Org.XmlPull.V1.IXmlPullParserInvoker")>]
type IXmlPullParser = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Производный
Атрибуты
Реализации

Комментарии

Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации).

Существуют следующие различные виды синтаксического анализа в зависимости от того, какие функции заданы:< ul><li li><b>non-validating</b> синтаксический анализ, как определено в спецификации XML 1.0, если FEATURE_PROCESS_DOCDECL задано значение true li li b<проверки синтаксического анализатора></b>, как определено в спецификации XML 1.0, если FEATURE_VALIDATION имеет значение true (и это означает, что FEATURE_PROCESS_DOCDECL имеет значение true<) >< li>Если FEATURE_PROCESS_DOCDECL имеет значение false (это значение по умолчанию и если необходимо изменить другое значение, необходимо изменить перед началом синтаксического анализа), средство синтаксического анализа работает так же, как XML 1.0, не проверяющий средство синтаксического анализа при условии, что <em>no DOCDECL присутствует</em> в XML-документах (внутренние entites по-прежнему могут быть определены с помощью defineEntityReplacementText()). Этот режим операции предназначен <>для операции в ограниченных средах</b>, таких как J2ME. </ul>

Существует два ключевых метода: next() и nextToken(). В то время как next() предоставляет доступ к событиям синтаксического анализа высокого уровня, nextToken() разрешает доступ к маркерам более низкого уровня.

Текущее состояние события средства синтаксического анализа можно определить путем вызова метода getEventType(). Изначально средство синтаксического анализа находится в состоянии START_DOCUMENT.

Метод next() перемещает средство синтаксического анализа к следующему событию. Значение int, возвращаемое из следующего, определяет текущее состояние синтаксического анализа и идентично значению, возвращаемого из следующих вызовов getEventType ().

Следующие типы событий отображаются следующими типами событий :< dl><dt>START_TAG<dd> An XML start tag был считан. <содержимое dd Text dt>< text>было прочитано; текстовое содержимое можно получить с помощью метода getText(). (если при проверке режима next() не будет сообщать о игнорируемом пробеле, используйте nextToken() вместо этого. <dt END_TAG>dd An end tag был прочитан <dt><END_DOCUMENT>dd<> No more events are available </dl>

после первого следующего() или nextToken() (или любого другого метода next*() вызывается пользовательское приложение, может получить XML-версию, автономную и кодировку из объявления XML следующим образом:<ul><li li><b version>/b<>: getProperty("http://xmlpull.org/v1/doc/properties.html#xmldecl-version") возвращает string ("1.0") или null, если XMLDecl не был прочитан или если свойство не поддерживается <li><b>standalone</b>: getProperty("http://xmlpull.org/v1/doc/properties.html#xmldecl-standalone") возвращает логическое значение: null, если не было автономного объявления или если свойство не поддерживается в противном случае возвращает boolean(true), если автономный="да" и boolean(false) при автономном объявлении"нет" <li><b>кодировки</b>: полученного из getInputEncoding() null, если поток был неизвестным кодировкой (не задано в setInputStream) и не был объявлен в XMLDecl </ul>

Минимальный пример использования этого API может выглядеть следующим образом:

import java.io.IOException;
            import java.io.StringReader;

            import org.xmlpull.v1.XmlPullParser;
            import org.xmlpull.v1.<a href="XmlPullParserException.html">XmlPullParserException</a>;
            import org.xmlpull.v1.<a href="XmlPullParserFactory.html">XmlPullParserFactory</a>;

            public class SimpleXmlPullApp
            {

                public static void main (String args[])
                    throws XmlPullParserException, IOException
                {
                    XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
                    factory.setNamespaceAware(true);
                    XmlPullParser xpp = factory.newPullParser();

                    xpp.<a href="#setInput">setInput</a>( new StringReader ( "&lt;foo>Hello World!&lt;/foo>" ) );
                    int eventType = xpp.getEventType();
                    while (eventType != XmlPullParser.END_DOCUMENT) {
                     if(eventType == XmlPullParser.START_DOCUMENT) {
                         System.out.println("Start document");
                     } else if(eventType == XmlPullParser.START_TAG) {
                         System.out.println("Start tag "+xpp.<a href="#getName()">getName()</a>);
                     } else if(eventType == XmlPullParser.END_TAG) {
                         System.out.println("End tag "+xpp.getName());
                     } else if(eventType == XmlPullParser.TEXT) {
                         System.out.println("Text "+xpp.<a href="#getText()">getText()</a>);
                     }
                     eventType = xpp.next();
                    }
                    System.out.println("End document");
                }
            }

Приведенный выше пример создаст следующие выходные данные:

Start document
            Start tag foo
            Text Hello World!
            End tag foo
            End document

Дополнительные сведения об использовании API см. в кратком руководстве по использованию API. http://www.xmlpull.org

Java документации по org.xmlpull.v1.XmlPullParser.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Поля

Имя. Описание
FeatureProcessDocdecl

Эта функция определяет, обрабатывается ли объявление документа.

FeatureProcessNamespaces

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

FeatureReportNamespaceAttributes

Эта функция определяет, предоставляются ли атрибуты пространства имен с помощью методов доступа к атрибутам.

FeatureValidation

Если эта функция активирована, все ошибки проверки, определенные в XML 1.

NoNamespace

Эта константа представляет пространство имен по умолчанию (пустая строка "")

Свойства

Имя. Описание
AttributeCount

Возвращает количество атрибутов текущего тега запуска или -1, если текущий тип события не START_TAG

ColumnNumber

Возвращает текущий номер столбца. Реализации могут использовать разные базы; XmlReaderPullParser возвращает номер столбца с нуля.

Depth

Возвращает текущую глубину элемента.

EventType

Возвращает тип текущего события (START_TAG, END_TAG, TEXT и т. д.

Handle

Возвращает значение JNI базового объекта Android.

(Унаследовано от IJavaObject)
InputEncoding

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

IsEmptyElementTag

Возвращает значение true, если текущее событие START_TAG, а тег дегенерирован (например <, foobar/>).

IsWhitespace

Проверяет, содержит ли текущее событие TEXT только символы пробелов.

JniIdentityHashCode

Возвращает значение java.lang.System.identityHashCode() для упаковаемого экземпляра.

(Унаследовано от IJavaPeerable)
JniManagedPeerState

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

(Унаследовано от IJavaPeerable)
JniObjectReferenceControlBlock

Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации).

(Унаследовано от IJavaPeerable)
JniPeerMembers

Поддержка доступа к членам и вызовов.

(Унаследовано от IJavaPeerable)
LineNumber

Возвращает текущий номер строки, начиная с 1.

Name

Для событий START_TAG или END_TAG имя текущего элемента возвращается при включении пространств имен.

Namespace

Возвращает URI пространства имен текущего элемента.

PeerReference

JniObjectReference Возвращает экземпляр объекта в оболочке Java.

(Унаследовано от IJavaPeerable)
PositionDescription

Возвращает короткий текст, описывающий текущее состояние синтаксического анализа, включая положение, описание текущего события и источника данных, если известно.

Prefix

Возвращает префикс текущего элемента.

Text

Возвращает текстовое содержимое текущего события в виде строки.

Types

Этот массив можно использовать для преобразования целочисленных констант типа события, таких как START_TAG или TEXT в строку.

Методы

Имя. Описание
DefineEntityReplacementText(String, String)

Задайте новое значение для текста замены сущностей, как определено в xml-файле 1.0 раздела 4.5 Построение текста внутренней замены сущностей.

Disposed()

Вызывается при удалении экземпляра.

(Унаследовано от IJavaPeerable)
DisposeUnlessReferenced()

Если нет невыполненных ссылок на этот экземпляр, то вызывается Dispose(); в противном случае ничего не делает.

(Унаследовано от IJavaPeerable)
Finalized()

Вызывается при завершении экземпляра.

(Унаследовано от IJavaPeerable)
GetAttributeName(Int32)

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

GetAttributeNamespace(Int32)

Возвращает URI пространства имен атрибута с заданным индексом (начинается с 0).

GetAttributePrefix(Int32)

Возвращает префикс указанного атрибута Возвращает значение NULL, если элемент не имеет префикса.

GetAttributeType(Int32)

Возвращает тип указанного атрибута, если средство синтаксического анализа не проверяет его, он ДОЛЖЕН возвращать CDATA.

GetAttributeValue(Int32)

Возвращает заданное значение атрибутов.

GetAttributeValue(String, String)

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

GetFeature(String)

Возвращает текущее значение заданной функции.

GetNamespace(String)

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

GetNamespaceCount(Int32)

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

GetNamespacePrefix(Int32)

Возвращает префикс пространства имен для заданной позиции в стеке пространства имен.

GetNamespaceUri(Int32)

Возвращает универсальный код ресурса (URI) пространства имен для заданной позиции в стеке пространства имен, если позиция выходит за пределы диапазона, создается исключение.

GetProperty(String)

Найдите значение свойства.

GetTextCharacters(Int32[])

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

IsAttributeDefault(Int32)

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

Next()

Получение следующего события синтаксического анализа — содержимое элемента будет объединено, и только одно событие TEXT должно быть возвращено для всего содержимого элемента (примечания и инструкции по обработке будут игнорироваться, а ссылки на сущности должны быть развернуты, или исключение должно быть вызвано, если ссылка на сущность не может быть развернута).

NextTag()

Вызовите следующее() и возвращайте событие, если оно START_TAG или END_TAG в противном случае вызывает исключение.

NextText()

Если текущее событие START_TAG, то если следующий элемент — TEXT, возвращается содержимое элемента или если следующее событие END_TAG возвращается пустая строка, в противном случае возникает исключение.

NextToken()

Этот метод работает аналогично next(), но предоставляет дополнительные типы событий (COMMENT, CDSECT, DOCDECL, ENTITY_REF, PROCESSING_INSTRUCTION или IGNORABLE_WHITESPACE), если они доступны во входных данных.

Require(XmlPullParserNode, String, String)

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

SetFeature(String, Boolean)

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

SetInput(Reader)

Задайте источник входных данных для синтаксического анализа заданному средству чтения и сбрасывает средство синтаксического анализа.

SetInput(Stream, String)

Задает входной поток, который будет обрабатывать средство синтаксического анализа.

SetJniIdentityHashCode(Int32)

Задайте значение, возвращаемое JniIdentityHashCode.

(Унаследовано от IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации).

(Унаследовано от IJavaPeerable)
SetPeerReference(JniObjectReference)

Задайте значение, возвращаемое PeerReference.

(Унаследовано от IJavaPeerable)
SetProperty(String, Object)

Задайте значение свойства.

UnregisterFromRuntime()

Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала ее из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов.

(Унаследовано от IJavaPeerable)

Методы расширения

Имя. Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации).

NextAsync(IXmlPullParser)

Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации).

NextTagAsync(IXmlPullParser)

Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации).

NextTextAsync(IXmlPullParser)

Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации).

NextTokenAsync(IXmlPullParser)

Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации).

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к