如何从给定的 XSLT 文件中获取版本号。

Posted

技术标签:

【中文标题】如何从给定的 XSLT 文件中获取版本号。【英文标题】:How to get the version number from a given XSLT file . 【发布时间】:2018-04-24 10:50:08 【问题描述】:

假设我有一个如下所示的 XSLT 文件:

    `<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:math="http://www.w3.org/2005/xpath-functions/math" exclude-result-
       prefixes="xs math"
       version="3.0">`

....... and so on.

我需要输出为 3.0,因为上面的文件有 version="3.0"。鉴于 XSLT 是字符串格式,我想使用 C# 来获得它

【问题讨论】:

【参考方案1】:

使用 xml linq:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication1

    class Program
    
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        
            XDocument doc = XDocument.Load(FILENAME);
            string version = (string)doc.Root.Attribute("version");
        
    

【讨论】:

【参考方案2】:

使用XElement.Parse(yourString).Attribute("version").Value,在其中添加using System.Xml.Linq;。使用 API 的详细信息请参阅https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-overview。

【讨论】:

如果输入是流而不是字符串怎么办? 好吧,如果你想像使用任何其他 API 一样使用该 API,然后开始阅读它的文档,XElement 类有一个 Load 方法 docs.microsoft.com/en-us/dotnet/api/… 有一个重载采用 Stream例如。

以上是关于如何从给定的 XSLT 文件中获取版本号。的主要内容,如果未能解决你的问题,请参考以下文章

如何从应用程序的(布局)XML 变量中获取清单版本号?

如何获取 Git 内部版本号并将其嵌入文件中?

如何从 shell 中获取 Erlang 的发布版本号?

如何在 shell 脚本中增加版本号?

如何使用 ionic3 从应用商店获取 iOS 部署的版本号

Linux获取so/ko文件版本号教程