2015-06-08 3 views
0

У меня есть следующие XML, но изо всех сил, чтобы получить текст DisplayName, он продолжает говорить сво нулевое значение:C# XElement нагрузки получить значение элемента

<?xml version="1.0" encoding="utf-8"?> 
<Package Test="Value"> 
<Identity Name="Reserved" Publisher="CN=Reserved" Version="0.0.0.0" /> 
<Properties> 
    <DisplayName>Application Name</DisplayName> 
    <PublisherDisplayName>Reserved</PublisherDisplayName> 
    <Description>Reserved</Description> 
    <Logo>Reserved.jpeg</Logo> 
</Properties> 
</Package> 

Я использовал следующие

XElement Manifest = XElement.Load(@"c:\temp\file.xml"); 
var ins = Manifest.Attribute("Test").Value.ToString(); 

var PackageName = Manifest.Element("Properties").Attribute("DisplayName").Value; // doesn't work 

Как получить текст DisplayName?

В Powershell его очень легко, но я изо всех сил, чтобы сделать то же самое с C#

[xml]$manifest = gc "C:\temp\file.xml" 
$manifest.Package.Test 
$DisplayName = $manifest.Package.Properties.DisplayName 
+0

'DisplayName' является элементом не приписывал. 'Manifest.Element (« Свойства »). Элемент (« DisplayName »). Значение« – PetSerAl

+0

@ PetSerAl. Почему бы вам не написать ответ? :) –

+0

Спасибо за ответ, который возвращается как нулевое значение – user3558247

ответ

0
var manifest = XElement.Load(@"C:\temp\log\foo.txt"); 
var packageName = manifest 
    .Element("Properties") 
    .Elements() 
    .First(x => x.Name == "DisplayName") 
    .Value; 
Смежные вопросы