Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.04.17;
Скачать: 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 вся ветка

Текущий архив: 2011.04.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.01 c
2-1294441804
Студент
2011-01-08 02:10
2011.04.17
Как открыть своё окно как бы "модальным" поверх чужого?


15-1293566787
Сергей М.
2010-12-28 23:06
2011.04.17
Непонятка с принт-сервером DP-101P+


15-1294059774
KilkennyCat
2011-01-03 16:02
2011.04.17
TGesture


1-1249673444
Sasha_234
2009-08-07 23:30
2011.04.17
Часть длины отрезка


2-1295269594
Евгений07
2011-01-17 16:06
2011.04.17
дельфи игнорирует файл источник