2016-07-18 1 views
-1

У меня есть xml, который содержит некоторые данные, и я хочу извлечь некоторые данные, но я не могу понять, как это сделать. Я буду размещать пример вниз ниже:Прочитать тот же атрибут из двух разных тегов xml

<ns:Taggg ns:SelectThisValues="3421" xmlns:ns="namespaceURL">3421<ns:AnotherTaggg ns:SomeValue="3421" /> 
</ns:Taggg> 

    <ns:Taggg2 ns:SelectThisValues="3422" xmlns:ns="namespaceURL">3422<ns:AnotherTaggg ns:SomeValue="3421" /> 
</ns:Taggg2> 

Исходя из этого, я хочу, чтобы выбрать значения из атрибута «SelectThisValues», но из обоих тегов, в одну операцию.

Пространство имен определяется как ns в этом примере.

У меня не очень много опыта работы с xml, но я знаю, что это возможно, просто я не знаю, как именно это сделать. Кто-нибудь может мне помочь? Любая идея приветствуется!

мне не нужно только основная идея, я могу справиться с идеями сложности

+1

Какой класс вы используете сейчас, чтобы загрузить его XML? – rene

+1

Где сейчас находится ваша попытка? И что вы подразумеваете под «выбором значений в одной операции» - каково ваше ожидаемое возвращаемое значение/тип? –

+0

@CharlesMager, если вы нажмете кнопку с правом голоса, я надеюсь, вы передумаете. Почему ты спрашиваешь это? Не очевидно? 3421 как строка, мне просто нужно ее значение – dpaul

ответ

1

Вы можете сделать это довольно тривиально с помощью LINQ к XML:

XNamespace ns = "namespaceURL"; 

var doc = XDocument.Parse(xmlString); 

var values = doc.Descendants() 
    .Attributes(ns + "SelectThisValues") 
    .Select(x => x.Value); 
+0

Интересно .. но по какой-то причине я не получаю никакого значения – dpaul

+0

[Он работает с вашим примером] (https://dotnetfiddle.net/dMMmz4) , Без [mcve], который показывает, что это не работает, я не могу сказать, что вы делаете неправильно. –

+0

Да, наверное, это моя ошибка. Благодарим вас за поддержку и помощь. Я ценю! – dpaul

 Смежные вопросы

  • Нет связанных вопросов^_^