Вниз
Скачать: CL | DM;

помогите составить XPath выражение   Найти похожие ветки 

← →
delphist   (2011-01-17 12:17) [0]

Есть xml-файл примерно следующего содержания:

<brands>
<cadillac>
</cadillac>
<hummer>
</hummer>
<infiniti>
</infiniti>
<jaguar>
</jaguar>
<lexus>
</lexus>
</brands>

Пишу XPath-выражение CarsXML.selectNodes("brands/*"); - выбираются все подузлы узла brands, а как указать, чтобы в выбор попадали определенные подузлы, например cadillac, infiniti, jaguar.


← →
Медвежонок ХМЛ ©   (2011-01-17 12:59) [1]

"/brands/*[(name()="cadillac") or (name()="infiniti") or (name()="jaguar")]"


← →
delphist   (2011-01-17 13:03) [2]

пробовал такой вариант, почему-то ругается на name() - неизвестный метод.


← →
han_malign   (2011-01-17 13:04) [3]

http://www.zvon.org/xxl/XPathTutorial/General_rus/examples.html
примеры 8, 10


← →
Медвежонок ХМЛ ©   (2011-01-17 13:05) [4]

SetProperty("SelectionLanguage","XPath")


← →
delphist   (2011-01-17 13:09) [5]

чей это метод? в IXMLDOMDocument такого нет.


← →
Медвежонок ХМЛ ©   (2011-01-17 13:22) [6]

зато есть в IXMLDOMDocument2


← →
delphist   (2011-01-17 13:26) [7]

Спасибо, уже нашел. Уточню только, проблем из-за SetProperty("SelectionLanguage","XPath") не возникнет, просто раньше юзал только IXMLDOMDocument.


← →
delphist   (2011-01-17 16:01) [8]

а если мне нужно вывести все подузлы brands имеет ли смысл использовать XPath или же корректнее обойтись без него, Например, для нижеописанного метода как лучше:


procedure TCarsData.Prepare(ACarsXML: IXMLDOMDocument);
var
 I: Integer;
begin
 with ACarsXML.documentElement do
   for I := 0 to childNodes.length - 1 do
   begin
     Cur := childNodes[I];
     if PrepareNeeded(Cur) then
       DoPrepare(Cur);

   end;

end;

procedure TCarsData.Prepare(ACarsXML: IXMLDOMDocument);
var
 I: Integer;
begin
 with ACarsXML.selectNodes("/brands/*") do
   for I := 0 to length - 1 do
   begin
     Cur := item[I];
     if PrepareNeeded(Cur) then
       DoPrepare(Cur);

   end;

end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.006 c
15-1292587835
Правильный$Вася
2010-12-17 15:10
2011.04.17
замена имени видюхи


15-1293912187
NewUserWin7
2011-01-01 23:03
2011.04.17
Win 7 - параметры папки


1-1246595056
Vitaliy_____
2009-07-03 08:24
2011.04.17
Организация многопоточности


15-1294090199
Юрий
2011-01-04 00:29
2011.04.17
С днем рождения ! 4 января 2011 вторник


15-1294262997
Юрий
2011-01-06 00:29
2011.04.17
С днем рождения ! 6 января 2011 четверг




   Наверх