Наши преимущества

Помогите в парсинге XML

Статус
Закрыто для дальнейших ответов.

KOJAN

Турист
Credits
0
Есть строка в XML файле:
Код:
<string name="callDetailsDurationFormat"><xliff:g id="minutes" example="42">%1$s</xliff:g> mins <xliff:g id="seconds" example="28">%2$s</xliff:g> secs</string>
Как прочитать содержимое именно такое:
Код:
<xliff:g id="minutes" example="42">%1$s</xliff:g> mins <xliff:g id="seconds" example="28">%2$s</xliff:g> secs
Пользуясь NativeXml у меня с помощью функции NodeList.Items.Nodes[j].ValueAsUnicodeString не получается, помогите пожалуйста
 
Последнее редактирование модератором:
Вот на быструю руку:

function ReverseString(s: string): string; // переворачиваем строку
var
i: integer;
begin
Result := '';
if Trim(s) <> '' then
for i := Length(s) downto 1 do
Result := Result + s;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
s1,s2:string;
sim_l,sim_r:string[1];
begin
s1:=Edit1.Text; // исходная строка
s2:=Edit2.Text; // конечная строка
sim_l:='>'; // разделитель слева
sim_r:='<'; // разделитель справа

delete(s1,1,pos(sim_l,s1)); // удаляем подстроку слева
s1 :=ReverseString(s1); // переворачиваем строку
delete(s1,1,pos(sim_r,s1)); // удаляем подстроку справа
s1 :=ReverseString(s1); // переворачиваем строку обратно
Edit2.Text := s1; // выводим конечную строку в едит
end;
 
Я использую SimpleXML - парсит на ура шустро и быстро... будет время - хочу его подпилить надфилем...
 
Используй майкрасофтовский парсер, находишь root и пошел по вложениям.
 
Если стоит задача получить именно текст в виде xml отличный от первого варианта, то
Nonstopich подсказал правильное решение, а если необходимо извлечь информацию из какого-то атрибута(в данном случае id и example - атрибуты), я бы порекомендовал стандартный компонент TXMLDocument.
 
стандартный компонент TXMLDocument.

Добавлено через 41 секунду
SimpleXML всем хорош
 
Последнее редактирование модератором:
Да лучше парсить TPerlRegex. Если данные структурированы, все просто.
 
Статус
Закрыто для дальнейших ответов.
Верх