Как искать данную строку в XML?
У меня есть XML как:
<bodyText>
<1 beginIndex="0" endIndex="723">
The teddy bear is a soft toy in the form of a bear. Teddy bears are among the most popular gifts for children and are often given to adults to signify love, congratulations or sympathy.</1>
<2 beginIndex="724" endIndex="347">
Morris Michtom saw the drawing of Roosevelt and was inspired to create a new toy. He created a little stuffed bear cub and put it in his shop window with a sign that read "Teddy's bear," after sending a bear to Roosevelt and receiving permission to use his name.
</2>
</bodyText>
Как мне найти конкретную строку в XML? Например: если пользователь вводит "чертеж Рузвельта". 2-й элемент xml содержит эту строку, и он должен возвращать 2(он должен возвращать абзац №). Как узнать?
1 ответ
Решение
Конвертируйте xml во внутренний класс, давайте назовем его MyEntry, у которого есть id (значения 1 и 2 в вашем примере, но укажите их как атрибут, имя узла не имеет значения, введите "a"), beginIndex, endIndex и value (ваша строка) и поместите в него метод внутри MyEntry, например:
public function search( string:String ):Boolean
{
return value.indexOf( string ) != -1;
}
//When you search for the string "drawing of Roosevelt":
for each( var entry:MyEntry in entries )
{
if( entry.search( string ) )
{
trace( "Found!" );
break;
}
}