XML xpath Visual Studio

#.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?