使用C#从XML中提取App版本号

时间:2014-01-06 08:36:10

标签: c# .net regex xml-parsing

我有一个XML文件如下。我想从这个文件中提取Version号码。 我尝试过XML解析。但是,这仅适用于节点值。我可以将此文件作为字符串获取如下。 var doc = XDocument.Load("WMAppManifest.xml");

<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
  <DefaultLanguage xmlns="" code="en-US" />
  <App xmlns="" ProductID="{a3f55b1e-c183-4645-9b19-87a41a206978}" Title="sometitle" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="M-Files author" BitsPerPixel="32" Description="Apache Cordova for Windows Phone" Publisher="CordovaExample" PublisherID="{b93a0d8e-5aa9-4d9b-b232-17e2d852e779}">
    <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath>
   </App>
</Deployment>

1 个答案:

答案 0 :(得分:3)

您可以按如下方式访问XML声明节点:

XmlDeclaration declaration = doc.ChildNodes
                                .OfType<XmlDeclaration>()
                                .FirstOrDefault();

然后,您可以阅读declaration.Version

的值

或者,如果您在XML文档本身的'app'版本属性之后,请尝试以下

string version = doc.Descendants("App")
                    .Single()
                    .Attribute("Version").Value