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

Статус
В этой теме нельзя размещать новые ответы.

KOJAN

Местный
Регистрация
26 Ноя 2008
Сообщения
22
Реакции
5
Credits
24
Есть строка в 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 не получается, помогите пожалуйста
 
Последнее редактирование модератором:

pavels13

Турист
Регистрация
14 Апр 2011
Сообщения
4
Реакции
0
Credits
8
Вот на быструю руку:

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

Местный
Регистрация
24 Май 2010
Сообщения
12
Реакции
4
Credits
97
Я использую SimpleXML - парсит на ура шустро и быстро... будет время - хочу его подпилить надфилем...
 

sedap

Турист
Регистрация
10 Июл 2010
Сообщения
8
Реакции
2
Credits
16
try using Clever Internet Suite
 

lrbugrho

Турист
Регистрация
6 Сен 2012
Сообщения
4
Реакции
0
Credits
8
SimpleXML всем хорош, только он не unicode
 

IPS

Турист
Регистрация
19 Сен 2009
Сообщения
14
Реакции
0
Credits
26
Используй майкрасофтовский парсер, находишь root и пошел по вложениям.
 

Keoda

Местный
Регистрация
19 Ноя 2014
Сообщения
31
Реакции
25
Credits
62
Я пользуюсь TinyXML. Лёгкая и фриварная библиотека
 

Nonstopich

Турист
Регистрация
17 Апр 2014
Сообщения
13
Реакции
0
Credits
22
TRegExp в руки, для одной строки не нужны XML библиотеки.
 

Shostak.alexand

Турист
Регистрация
11 Янв 2015
Сообщения
4
Реакции
0
Credits
8
Если стоит задача получить именно текст в виде xml отличный от первого варианта, то
Nonstopich подсказал правильное решение, а если необходимо извлечь информацию из какого-то атрибута(в данном случае id и example - атрибуты), я бы порекомендовал стандартный компонент TXMLDocument.
 

sergeii

Турист
Регистрация
11 Мар 2007
Сообщения
4
Реакции
0
Credits
8
стандартный компонент TXMLDocument.

Добавлено через 41 секунду
SimpleXML всем хорош
 
Последнее редактирование модератором:

bssat

Турист
Регистрация
14 Окт 2008
Сообщения
24
Реакции
1
Credits
40
Да лучше парсить TPerlRegex. Если данные структурированы, все просто.
 

choo

Местный
Регистрация
12 Фев 2010
Сообщения
20
Реакции
30
Credits
40
Я тоже использую TXMLDocument.
И для чтения XML и для чтения XSD.
 
Статус
В этой теме нельзя размещать новые ответы.