Как получить доступ к родительскому атрибуту в XMLC#

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

Сообщение Anonymous »

Я не могу исправить синтаксис LINQ или не знаю, как ссылаться на объекты XML.
У меня есть XML типа:

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



jpg
jpeg
tif
tiff
gif
png


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

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

необработанное исключение типа «System.NullReferenceException» произошло в ......dll: «Ссылка на объект не установлена ​​на экземпляр объекта».

Попытки включают в себя :

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

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, но у него нет элемента.
Спасибо за любую поддержку
Джей Си

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

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

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

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

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

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

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