Главная страница
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.007 c
15-1293912187
NewUserWin7
2011-01-01 23:03
2011.04.17
Win 7 - параметры папки


15-1294003799
Юрий
2011-01-03 00:29
2011.04.17
С днем рождения ! 3 января 2011 понедельник


2-1295201878
IPranker
2011-01-16 21:17
2011.04.17
Определить, является ли многоугольник выпуклым?


3-1254856164
noname123
2009-10-06 23:09
2011.04.17
Interbase и BDE что нужно еще?


2-1295028956
Criptonik
2011-01-14 21:15
2011.04.17
Копирование файлов из скрытой папки