Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
ВнизDom парсер для XML Найти похожие ветки
← →
Dark © (2008-01-29 19:04) [0]У меня задача: считать весь xml в память и иметь возможность по нему перемещаться, что не позволяет Sax парсер. По-этому буду использовать Dom парсер. Но обыскав интернет не нашел примеров его использования. Может может кто выложить пример его использования? Буду очень благодарен.
← →
Галинка © (2008-01-29 19:20) [1]Читай MSDN SmlDocument. Вроде и на русском есть. Это ждя обзего развития. Как адаптировать для дельфы не знаю. Следующий оратор подскажет.
← →
Галинка © (2008-01-29 19:21) [2]очепятка блин... XmlDocument
← →
clickmaker © (2008-01-29 19:22) [3]
> Как адаптировать для дельфы не знаю. Следующий оратор подскажет
можно я буду следующим?
Он уже адаптирован. Даже компонент на палитре есть
← →
Галинка © (2008-01-29 19:25) [4]я вообзе синтаксис имела в виду. Но похоже кроме ":" мало что добавляется )))
вот тут обсуждение есть
http://www.sql.ru/forum/actualthread.aspx?tid=332033
← →
Dark © (2008-01-29 19:25) [5]Да-да, я знаю. я делаю нехитрую штуку - тест. Уже написал прогу для записи в xml, теперь осталось тока прога для самого теста.
← →
Dark © (2008-01-29 19:25) [6]
> Да-да, я знаю. я делаю нехитрую штуку - тест. Уже написал
> прогу для записи в xml, теперь осталось тока прога для самого
> теста.
Читающая сам тест из xml
← →
Галинка © (2008-01-29 19:26) [7]для меня в свое время хорошим примером была перегонка XmlDocument"а в TreeView.
← →
Галинка © (2008-01-29 19:27) [8]Altova XMLSpy или хотябы браузером можно просмотреть файл. Или что конкретно ты хочешь?
← →
Dark © (2008-01-29 19:33) [9]Я создал xml такого типа
Предмет
вариант1
вопрос1
ответ1
ответ2
...
/вопрос1
/вариант1
вариант2
...
/Предмет
В программе у меня есть Лэйбэлы для вопроса и ответов. При запуске выбирается вариант и присваивается переменной, скрывается форма варианта, показывается сам тест. и вот мне надо присваивать всем Лэйбелам соответствующие значения из xml
← →
Галинка © (2008-01-29 19:37) [10]я бы конвертировала такой хмл в датасет и спользовала бы нормальные DBControls (DBNavigator, DBLabel etc).
← →
Dark © (2008-01-29 19:39) [11]А смысл.мне кажется это лишний гемморой, если можно напрямую считывать
← →
Dark © (2008-01-29 19:39) [12]Попробую сделать так, как описано по твоей ссылке.
← →
Галинка © (2008-01-29 19:57) [13]в моем понимании прелесть Xml и ограничивается наличием в классе DataSet метода FromXml (или что-то в этом роде). Потому что работать с моделью набора данных легче.
Хотя можно что-то типа:
1. Грузим в XmlDocument нужный файл;
2. Выбираем вариант. Перемещаемся на нужный узел первого уровня.
3. Делаем нафигатор, для путешествия по вопросам (читай по дочерним узлам "Варианта").
4. Проходя по вопросам, создаем динамически метки(лэйблы) и отображаем в них нужные строки.
ПыСы: с тестовыми прогами дел вобщем-то не имела ни разу. Вероятно не поняла твоей задумки. Но общий курс должен подойти.
← →
Dark © (2008-01-29 20:15) [14]Да, впринципе то, что надо. Спасибо. Но ещё кое-что можешь привестив пример конкретный кусок кода который считает параметр quest у этого узла и выведет в Лэйбел lblQuestion (к примеру): <q1 quest="Ты кто?">
← →
Dark © (2008-01-29 20:40) [15]Кто-нибудь! Помогите с постом [14]! Привидите пример!
← →
homm © (2008-01-29 21:34) [16]> [8] Галинка © (29.01.08 19:27)
> Или что конкретно ты хочешь?
Он же сказал, DOM он хочет, а clickmaker правильно уже подсказал что даже в стандартной дельфе (2005+, может раньше) есть такой компонент.
← →
sniknik © (2008-01-29 23:54) [17]> 2005+, может раньше
D7 уже есть. раньше хз. но даже если нет то поставить... вся трудность галочку установить на "генерировать врапер" при импорте библиотеки типов... (а то и вообще она по умолчанию "взведена" ... )
← →
DiamondShark © (2008-01-30 11:52) [18]
> Кто-нибудь! Помогите с постом [14]! Привидите пример!
Как кто-нибудь его на русский переведёт, так сразу.
← →
Галинка © (2008-01-30 15:09) [19]Насколько я поняла, ты нужный тебе текст храниш в аттрибутах. Тогда надо аттрибут преобразовывать в текст, и складывать в Caption метки.
← →
Dark © (2008-01-30 15:23) [20]Правильно! Вот мне нужен пример как считать у этого тега <q1 quest="Ты кто?"> атрибут name
← →
Dark © (2008-01-30 15:24) [21]тьфу атрибут quest
← →
Dark © (2008-01-30 15:28) [22]А то я вот это делаю, а как атрибут присвоить че-то в хелпе не нашел
procedure NextQuestion();
var
v,q,o1,o2,o3,o4,o5,n: IXMLNode;
begin
questn:=questn+1;
XMLDocument1.FileName:="test.xml";
XMLDocument1.Active:=True;
Variant:="variant"+inttostr(varsel);
Quest:="q"+inttostr(questn);
n:=XMLDocument1.ChildNodes.FindNode(variant);
q:=n.ChildNodes.FindNode(quest);
o1:=q.ChildNodes.FindNode("ot1");
o2:=q.ChildNodes.FindNode("ot2");
o3:=q.ChildNodes.FindNode("ot3");
o4:=q.ChildNodes.FindNode("ot4");
o5:=q.ChildNodes.FindNode("ot5");
end;
← →
Плохиш © (2008-01-30 15:33) [23].Attributes["xxx"] := xxx;
← →
Галинка © (2008-01-30 15:42) [24]там должно быть свойство Attributes.
Маленький примерчик:XmlDocument doc = new XmlDocument();
doc.LoadXml("<book genre="novel" publicationdate="1997"> " +
" <title>Pride And Prejudice</title>" +
"</book>");
XmlAttributeCollection attrColl = doc.DocumentElement.Attributes;
Console.WriteLine("Display all the attributes for this book...");
for (int i = 0; i < attrColl.Count; i++)
{
listBox1.Items.Add(attrColl.Item(i).Value);
}
Зезультатик:
novel
1997
← →
Dark © (2008-01-30 16:05) [25]Щас попробую Спасибо
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.04 c