繁体   English   中英

C#XElement加载获取元素值

[英]C# XElement Load get Element Value

我有以下XML,但一直在努力获取DisplayName文本,但一直在说其null值:

<?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
var manifest = XElement.Load(@"C:\temp\log\foo.txt");
var packageName = manifest
    .Element("Properties")
    .Elements()
    .First(x => x.Name == "DisplayName")
    .Value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM