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

Status
Not open for further replies.

KOJAN

Member
Joined
Nov 26, 2008
Messages
22
Reaction score
5
Есть строка в XML файле:
Code:
<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>
Как прочитать содержимое именно такое:
Code:
<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 не получается, помогите пожалуйста
 
Last edited by a moderator:

pavels13

New member
Joined
Apr 14, 2011
Messages
4
Reaction score
0
Website
delphi-help.ru
Вот на быструю руку:

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;
 

SeaMan75

Member
Joined
May 24, 2010
Messages
10
Reaction score
1
Я использую SimpleXML - парсит на ура шустро и быстро... будет время - хочу его подпилить надфилем...
 

lrbugrho

New member
Joined
Sep 6, 2012
Messages
4
Reaction score
0
SimpleXML всем хорош, только он не unicode
 

IPS

Member
Joined
Sep 19, 2009
Messages
14
Reaction score
0
Используй майкрасофтовский парсер, находишь root и пошел по вложениям.
 

Keoda

Member
Joined
Nov 19, 2014
Messages
31
Reaction score
25
Я пользуюсь TinyXML. Лёгкая и фриварная библиотека
 

Nonstopich

Member
Joined
Apr 17, 2014
Messages
13
Reaction score
0
TRegExp в руки, для одной строки не нужны XML библиотеки.
 

Shostak.alexand

New member
Joined
Jan 11, 2015
Messages
4
Reaction score
0
Если стоит задача получить именно текст в виде xml отличный от первого варианта, то
Nonstopich подсказал правильное решение, а если необходимо извлечь информацию из какого-то атрибута(в данном случае id и example - атрибуты), я бы порекомендовал стандартный компонент TXMLDocument.
 

sergeii

New member
Joined
Mar 11, 2007
Messages
4
Reaction score
0
Location
Vilnius
стандартный компонент TXMLDocument.

Добавлено через 41 секунду
SimpleXML всем хорош
 
Last edited by a moderator:

bssat

Member
Joined
Oct 14, 2018
Messages
25
Reaction score
1
Да лучше парсить TPerlRegex. Если данные структурированы, все просто.
 

choo

Member
Joined
Feb 12, 2010
Messages
20
Reaction score
30
Age
63
Я тоже использую TXMLDocument.
И для чтения XML и для чтения XSD.
 
Status
Not open for further replies.
Top