2016-03-20 4 views
0

я имел XML как следующее:Как получить значение атрибута родительского узла с помощью значения атрибута дочернего узла в xmldocument?

<Root Details="false"> 
     <Product count="45" Name="Success"> 
       <Source Id="123" Name="58372"> 
       <Project Id="ABC" Level = "Good"> 
        <Rest of the document/> 
       </Project> 
       </Source> 
       <Source Id="456" Name="83729"> 
       <Project Id="DEF" Level = "Better"> 
        <Rest of the document/> 
       </Project> 
       </Source> 
       <Source Id="789" Name="29832"> 
       <Project Id="GHI" Level = "BAD"> 
        <Rest of the document/> 
       </Project> 
       </Source> 
     </Product> 
    </Root> 

Мне нужно получить значение значения «Name» Source узла, используя значение атрибута узла проекта «Id». то есть для примера. Если значением идентификатора проекта является «GHI», тогда мне нужно значение «29832». Есть ли способ сделать это?

ответ

0

Вы изучали классы XDocument и XElement LINQ? Код был бы чем-то вроде (я нахожусь на своем телефоне, делая это из памяти):

var doc = XDocument.Load ("your file.xml"); var sourceName = doc.Root.Elements («Project»). Где (p => p.Attribute («Id»). Значение == «GHI»). First(). Parent.Attribute («Имя»). стоимость;

Каждый элемент xelement имеет родительское свойство.

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