Как получить доступ к родительскому атрибуту XML с помощью LINQ в C#C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как получить доступ к родительскому атрибуту XML с помощью LINQ в C#

Сообщение Anonymous »

Кажется, я не могу правильно понять синтаксис Linq - или я не знаю, как ссылаться на объекты XML.
У меня есть XML, например

Код: Выделить всё



jpg
jpeg
tif
tiff
gif
png


Я хочу найти/извлечь «TargetId», где расширение файла соответствует тому, которое я ищу, скажем, «jpeg» "
Во-первых, я впервые использую структуру со списком одинаковых имен элементов FileExtension.
И, похоже, она так и не нашла ее.
p>
Я основываю это на предыдущем тестовом коде, где с помощью XML типа...

Код: Выделить всё



someguy
some other last name again
12345634543
some other town
some other state



код

Код: Выделить всё

 IEnumerable someClients =
from el in doc.Elements("Customers").Elements("Client")
where (string)el.Element("PhoneNumber") == phoneNumberToFind
select el;
находит то, что я ищу. тогда я смогу получить другой элемент в том же «Клиенте» с помощью

Код: Выделить всё

Console.WriteLine("Found client named '{0}'", (string)el.Element("LastName").Value );
и печать «el» дает следующее — все находится в одном куске:-

Код: Выделить всё

someguy
some other last name again
12345634543
some other town
some other state

Во-вторых, все мои попытки получить доступ к атрибуту на родительском уровне встречают

Код: Выделить всё

An unhandled exception of type 'System.NullReferenceException' occurred in ......dll: 'Object reference not set to an instance of an object.'
пробовал включить

Код: Выделить всё

string fTestAttr1=  (string)el.Element("Client").Value;
string fTestAttr2=  (string)el.Element("Client").Attribute("TestAttr");
string fTestAttr3=  (string)el.Element("Client").Attribute("TestAttr").Value;
string fTestAttr4=  (string)el.Element("Client").FirstAttribute.Value;
string fTestAttr4=  (string)el.Element("Client").FirstAttribute.Value)
Я, очевидно, не знаю адреса родителя. Не помогает отладка VS Code, где я вижу, что «el» — это [XElement], но у него нет никакого «элемента».
Спасибо за любую поддержку
JC

Подробнее здесь: https://stackoverflow.com/questions/786 ... in-c-sharp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как получить доступ к родительскому атрибуту XML с помощью LINQ в C#
    Anonymous » » в форуме C#
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как получить доступ к родительскому атрибуту в XML
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Доступ к родительскому атрибуту из дочернего класса
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Как получить доступ к атрибуту XML с пространством имен с помощью xPath
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Запрос Mongo Linq игнорирует индивидуальную сериализацию аргумента LINQ с использованием провайдера LINQ v3
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»