繁体   English   中英

如何在xml的根目录中获取名称空间

[英]how to get the namespaces in the root of xml

我有一个xml的根目录具有以下名称空间

 <root version="2.0" xsi:schemaLocation="http://www.sample.org/schemas/2009 http://www.sample1.org/schemas/2009/railML-2.0/railML.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://xyz/elements/1.1/" xmlns="http://www.abcd.org/schemas/2009">

我能够使用检索xmlns的值

var xdoc = XDocument.Load(XmlToParse);
 Console.WriteLine(xdoc.Root.Name.NamespaceName);

但是我怎样才能得到根中其他名称空间的值,即

xsi
dc
schemaLocation

在解析之前,我需要验证这些名称空间,因此我需要这些值。 怎么做? linq可以完成吗?

var q = xdoc.Root.Attributes()
                 .Where(x => x.IsNamespaceDeclaration)
                 .Select(x => new {Prefixes = x.Name.LocalName, ns = x.Value});

编辑:

更多方法: 使用XPathDocument和LINQ to XML从XML文档获取名称空间

暂无
暂无

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

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