|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Помогите... Xml...
Доброе время суток! У меня появилась небольшая проблема при работе с XML файлом. Прошу о помощи, вот суть проблемы:
Есть XML-файл(для удобство я упростил его) Код:
<?xml version="1.0" encoding="windows-1251" standalone="yes" ?> - <EXCHANGE_CURRENCY Version="1.0"> - <LIST_R_DATE> - <R_DATE> <DATE>Thu, 10 Aug 2006 00:00:00 GMT</DATE> - <LIST_E_CHANNEL> - <E_CHANNEL Id="9"> <TITLE>Приорбанк карт.</TITLE> <DESCRIPTION>***</DESCRIPTION> - <LIST_RATE> - <RATE ISO="xxx" Code="xxx"> <TITLE>Евро</TITLE> <CODE>978</CODE> <ISO>EUR</ISO> <DATE>Thu, 10 Aug 2006 00:00:00 GMT</DATE> <BUY>инфа1</BUY> <SELL>инфа2</SELL> <D_BUY>0.5474</D_BUY> <D_SELL>0.5396</D_SELL> <QUANTITY>1</QUANTITY> </RATE> - <RATE ISO="xxx" Code="xxx"> <TITLE>x</TITLE> <CODE>x</CODE> <ISO>x</ISO> <DATE>x</DATE> <BUY>инфа3</BUY> <SELL>инфа4</SELL> <D_BUY>0.0000</D_BUY> <D_SELL>0.0000</D_SELL> <QUANTITY>1</QUANTITY> </RATE> </LIST_RATE> <L_DATE>Thu, 10 Aug 2006 00:00:00 GMT</L_DATE> </E_CHANNEL> </LIST_E_CHANNEL> </R_DATE> </LIST_R_DATE> </EXCHANGE_CURRENCY> Код:
GetNodeText(['//EXCHANGE_CURRENCY','//LIST_R_DATE ','//R_DATE','//LIST_E_CHANNEL','//E_CHANNEL','//LIST_RATE','//RATE','//BUY']); Код:
GetNodeText(['//EXCHANGE_CURRENCY','//LIST_R_DATE ','//R_DATE','//LIST_E_CHANNEL','//E_CHANNEL','//LIST_RATE','//RATE','//SELL']); Надеюсь я понятно обьяснил проблему! Если кто знает, помогите! ! ! ! ! Очень надо! Вот список функций для оперирования с XML-инфой: Код:
function GetNodeText(Path:array of string):string; var Node: variant; i:integer; begin Node:=XML.documentElement; for i:=0 to High(Path) do begin Node:=Node.SelectSingleNode(Path[i]); //if integer(Node)=0 then exit; end; try result:=Node.Text; except result:=''; end; end; function GetNodeItemText(Path:array of string;Item:string):string; var Node: variant; i:integer; begin Node:=XML.documentElement; for i:=0 to High(Path) do begin Node:=Node.SelectSingleNode(Path[i]); //if Node=0 then exit; end; try result:=Node.attributes.getNamedItem(Item).text; except result:=''; end; end; function GetNodeItemTextFromID(Path:array of string;ID:integer;Item:string):string; var Node: variant; i:integer; begin Node:=XML.documentElement; for i:=0 to High(Path) do begin Node:=Node.SelectSingleNode(Path[i]); //if Node=0 then exit; end; try result:=Node.childNodes.item[ID].attributes.getNamedItem(Item).Text; except result:=''; end; end; function GetNodeItemTextByNameFromID(Path:array of string;NodeName:string;ID:integer;Item:string):string; var Node: variant; i:integer; begin Node:=XML.documentElement; for i:=0 to High(Path) do begin Node:=Node.SelectSingleNode(Path[i]); //if Node=0 then exit; end; try result:=Node.SelectNodes(NodeName).item[ID].attributes.getNamedItem(Item).text; except result:=''; end; end; function GetNodeTextFromID(Path:array of string;ID:integer):string; var Node: variant; i:integer; begin Node:=XML.documentElement; for i:=0 to High(Path) do begin Node:=Node.SelectSingleNode(Path[i]); //if Node=0 then exit; end; try result:=Node.childNodes.item[ID].Text; except result:=''; end; end; function GetNodeTextByNameFromID(Path:array of string;NodeName:string;ID:integer):string; var Node: variant; i:integer; begin Node:=XML.documentElement; for i:=0 to High(Path) do begin Node:=Node.SelectSingleNode(Path[i]); //if Node=0 then exit; end; node:=Node.childNodes.item[ID]; try result:=Node.SelectSingleNode(NodeName).text; //result:=Node.SelectNodes(NodeName).item[ID].text; except result:=''; end; end; If you want to fuck for funny - fuck yourself and save your money! |