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 ( "<foo>Hello World!</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 |
Возвращает значение |
| 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() |
Если нет невыполненных ссылок на этот экземпляр, то вызывается |
| 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) |
Задайте значение, возвращаемое |
| SetJniManagedPeerState(JniManagedPeerStates) |
Средство синтаксического анализа XML — это интерфейс, который определяет функции синтаксического анализа, предоставляемые в API XMLPULL версии 1 (посетите этот веб-сайт, чтобы узнать больше об API и его реализации). (Унаследовано от IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
Задайте значение, возвращаемое |
| SetProperty(String, Object) |
Задайте значение свойства. |
| UnregisterFromRuntime() |
Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала ее из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов. (Унаследовано от IJavaPeerable) |
Методы расширения
| Имя. | Описание |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| 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) |
Попробуйте принуждать к типу |