0
由於加載了XElement
如何使用Linq2XML枚舉XML文檔中使用的名稱空間?
var root = XElement.Load("foo.xml");
你怎麼能枚舉在XML文件中使用的命名空間?
由於加載了XElement
如何使用Linq2XML枚舉XML文檔中使用的名稱空間?
var root = XElement.Load("foo.xml");
你怎麼能枚舉在XML文件中使用的命名空間?
沒有什麼,讓你直接使用的所有命名空間,所以你要列舉所有元素,並提取其命名空間:
var namespaces = root.DescendantsAndSelf()
.Select(e => e.Name.Namespace)
.Distinct();
這將使你只使用由元素的命名空間該文件。如果要列出在文檔中聲明的所有名稱空間(即使它們未被使用或僅由屬性使用),您需要迭代名稱空間聲明:
var namespaces = root.DescendantsAndSelf()
.Attributes()
.Where(a => a.IsNamespaceDeclaration)
.Select(a => (XNamespace)a.Value)
.Distinct();