Форум: "Базы";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
Внизполучить данные XML Найти похожие ветки
← →
dimds (2007-04-25 21:19) [0]есть xml файл:
<root>
<zapis atr1="12" atr2="34" />
</root>
как можно с помощью openxml на sql2000 получить строку вида
zapis,12,34
← →
Johnmen © (2007-04-25 21:24) [1]
> есть xml файл:
Это кривой хмель файл, т.к. у него нет заголовка.
← →
dimds (2007-04-25 21:34) [2]заголовок в данном случае не главное, важно получить данные в нужном виде.
если так нужен полный файл со всеми прибамбасами, завтра выложу)
← →
Reindeer Moss Eater © (2007-04-26 09:29) [3]Если поддерживается XPath, то получить суммой значений выражений XPath
"/root/zapis[0]" || "," || "/root/zapis[0]/@atr1" || "," || "/root/zapis[0]/@atr2"
Если поддерживается трансформация с помощью xsl, то тоже примерно так же.
Если ни то ни другое - то скакать по структуре через списки чайлд узлов и атрибутов и склеивать значения.
← →
stud © (2007-04-26 09:59) [4]пытаюсь с помощью xpath.
но, подразумевается что названия zapis заранее не известно, точно известно что оно находится на втором уровне.
если быть точнее то файл может содержать записи:
.....
<zapis atr1="12" atr2="34" />
<zapis1 atr1="12" atr2="34" />
<zapis2 atr1="12" atr2="34" />
......
и соответственно нужно получить
zapis,12,34
zapis1,12,34
zapis2,12,34
с атрибутами все нормально проблем нет, вот получить название узла где они находятся....
← →
stud © (2007-04-26 09:59) [5]выходил вчера из дома, поэтому логин другой)
← →
Reindeer Moss Eater © (2007-04-26 10:05) [6]но, подразумевается что названия zapis заранее не известно
Ну а по какому критерию тебе надо искать этот узел - мы что, должны здесь все догадаться?
← →
Reindeer Moss Eater © (2007-04-26 10:14) [7]Все непосредственные дети рута, у которых есть оба атрибута
"/root/*[@atr1][@atr2]"
← →
stud © (2007-04-26 10:41) [8]Reindeer Moss Eater © (26.04.07 10:05) [6]
Ну а по какому критерию тебе надо искать этот узел
известно что он находится на втором уровне
и практически все(
← →
stud © (2007-04-26 11:01) [9]Reindeer Moss Eater © (26.04.07 10:14) [7]
Все непосредственные дети рута, у которых есть оба атрибута
вот грубо говоря нужно получить имя ребенка рута, у которого есть указаный набор атрибутов
← →
Reindeer Moss Eater © (2007-04-26 11:06) [10]Ну сам узел у тебя есть. В чем проблема?
В openxml нет свойств возвращающих имя узла?
← →
stud © (2007-04-26 11:09) [11]Reindeer Moss Eater © (26.04.07 11:06) [10]
В openxml нет свойств возвращающих имя узла?
не нашел ничего на эту тему.
← →
Reindeer Moss Eater © (2007-04-26 11:11) [12]Либо плохо искал. либо не надо так коряво именовать узлы.
← →
stud © (2007-04-26 11:21) [13]Reindeer Moss Eater © (26.04.07 11:11) [12]
Либо плохо искал. либо не надо так коряво именовать узлы.
там вроде обращение к элементам идет с помощью xpath, все атрибуты нормально вытащил, но вот как получить именно имя не нашел.
а узлы... не от меня зависит.
← →
stud © (2007-04-26 12:41) [14]все что нашел - можно получить из таблицы которую создает openxml имена, но тогда нужно делать два запроса - в первом получать все данные а во втором вытаскивать нужное имя и апдейтить таблицу с данными, но хотелось одним запросом....
← →
Reindeer Moss Eater © (2007-04-26 12:46) [15]Если это так, смотри в сторону xsl и метода transform.
Если этого нет, грузи свой xml в msxml.
Там и имена нодов получить можно и трансформацию в готовый вид реализовать.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.08.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c