#.net #xml #visual-studio #xpath
#.net #xml #visual-studio #xpath
Вопрос:
Я новичок в Visual Studio и разбираюсь во многих вещах, но я застрял и мог бы воспользоваться некоторой помощью.
Мне нужно создать выпадающий список, привязанный к полю в XML-документе. Я попытался настроить источник данных и добавить выражения xpath, но ничего не отображается, и я не уверен, что я делаю неправильно.
Вот извлечение из файла и скажите, что мне нужно какое-либо поле, т. е. PropertyId
?
<PropertyDatabase>
<imageList>
<Images>
<ImageId>2</ImageId>
<PropertyId>60</PropertyId>
<ThumbUrl>propertyImages/propertyThumb60_8.jpg</ThumbUrl>
<MainUrl>propertyImages/propertyLarge60_8.jpg</MainUrl>
<Active />
</Images>
<Images>
<ImageId>3</ImageId>
<PropertyId>22</PropertyId>
<ThumbUrl>propertyImages/propertyThumb22_1.jpg</ThumbUrl>
<MainUrl>propertyImages/propertyLarge22_1.jpg</MainUrl>
<Active />
</Images>
Комментарии:
1. Не могли бы вы, пожалуйста, показать код, который вы используете?
Ответ №1:
Вы можете использовать конструкцию Linq-to-XML в XElement для создания запросов, подобных XML path, в C #. Если ваш файл вызывается ‘somexml.xml ‘ затем вы можете выполнить следующее
XElement xml = XElement.Load("somexml.xml");
IEnumerable<XElement> propertyIDs = xml.Descendants("PropertyId");
foreach(XElement propertyID in propertyIDs)
{
//Do stuff with propertyID.Value
}
Поскольку вы не указали, что используете C #, вот код в VB.Net
Dim xml As XElement = XElement.Load("somexml.xml")
Dim propertyIDs As IEnumerable(Of XElement) = xml...<PropertyId>
For Each propertyID As XElement In propertyIDs
'Do stuff with propertyID.Value
Next
Комментарии:
1. спасибо за ответы. в терминах, которые использовал код — я не был — я использовал мастер при добавлении источника данных в Visual Studio, а затем пытался добавить xpaths через него.
2. Ах, тогда вам следует использовать //PropertyID
3. я использую c # да, спасибо за это, так что мне удалось добавить код, который вы предлагаете — извините за недостаток знаний, но теперь ввел это, как я могу связать его с моим выпадающим списком?
4. Это зависит от того, какую платформу вы используете, это WPF или Windows Forms?