Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
5 / 5 / 1
Регистрация: 17.06.2010
Сообщений: 42
1

XML. Получить доступ к элементу по ID

10.08.2010, 15:21. Показов 2427. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется следующая структура:
XML
1
2
3
4
5
6
7
8
9
10
<XamlDocument>
<Paragraph>
<Sentence>
<Word ID = string>
...
...
...
</Word>
</Sentence>
</Paragraph>
Мне нужно обратиться к Word по заданному ID. Как это лучше сделать(рационально)?
В данный момент, я тупо перебирал все Word`у в нужном Sentence, пока ID не совпадал с нужным.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2010, 15:21
Ответы с готовыми решениями:

Получить доступ к элементу
Вобщем немогу получить доступ к элементу меня знания ограничивают, значит в строке 39 я подписался...

Получить доступ к элементу Label
Подскажите, как получить доступ к элементу &quot;lab&quot; созданному и размещенному на Form2 в процессе...

Как получить доступ к элементу управления
Собственно вопрос, есть вот такая разметка &lt;WrapPanel Margin=&quot;45,194,49,257&quot;&gt; ...

Как получить доступ к элементу scroll?
При создании широкого изображения на канвасе был добавлен скролл. #canvas{ overflow: auto;...

2
1 / 1 / 1
Регистрация: 22.05.2009
Сообщений: 8
10.08.2010, 17:27 2
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Пользуюсь этим методом.
В твоем случае это будет:
C#
1
2
3
4
5
6
7
8
9
XmlDocument doc = new XmlDocument();
doc.Load("XmlPath");
foreach (XmlNode xn in doc.GetElementsByTagName("Word"))
{
    if (xn.Attributes["ID"].Value == "string")
    {
        //...
    }
}
Существуют другие способы, например использования пространство имен System.Xml.Linq (работа с атрибутами)
Про LINQ to XML достаточно подробно описано в статье на хабре.

Например, если ты хочешь обратиться к определенному атрибуту, возможно будет правильно так:
C#
1
2
3
4
5
6
7
8
XDocument doc = XDocument.Load("XmlPath");
foreach (XElement el in doc.Root.Elements("Word"))
{
    if (el.Attribute("ID").Value=="string");
    {
        //...
    }
}
Либо без foreach указывая путь с начала до конца:
C#
1
2
3
4
5
6
XDocument doc = XDocument.Load("XmlPath");
if (doc.Root.Element("Paragraph").Element("Sentence").Element("Word").Attribute("ID").Value == "string")
    {
        //...
    }
}
Но я линк знаю очень плохо, возможно даже при написании примера где то ошибся
1
5 / 5 / 1
Регистрация: 17.06.2010
Сообщений: 42
10.08.2010, 19:54  [ТС] 3
eXplowar, спасибо! Примеры очень хорошие, посижу, подумаю. +1
0
10.08.2010, 19:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2010, 19:54
Помогаю со студенческими работами здесь

Как получить доступ к элементу scroll?
При создании широкого изображения на канвасе был добавлен скролл. #canvas{ overflow: auto;...

UserControl получить доступ к родительскому элементу
Как получить доступ к родительскому элементу из UserControl элемента ? Есть два контрола: ...

CustomContro. Получить доступ к внутреннему элементу
Сделал Custom Control Library в нём определил стиль новой кнопки (текст и секбокс) ...

Как получить доступ к элементу хэш-массива ?
Имеется хэш массивов. Сохранил его через store во временном файле и получил через retrieve....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru