首页 > 解决方案 > 将 xmlns 保存到变量中

问题描述

我想将“mis20”保存到一个新变量中

xmlns:mis20="http://www.mis.sfm.se/mis20"

xmlns 之后的 mis20:

见粗文:

"<"mis20:mislife 版本="mislife00" xmlns: mis20 ="http://www.mis.sfm.se/mis20" xmlns:mis2Util="http://schemas.microsoft.com/BizTalk/2003/userCSharp "">"

标签: c#.netxml

解决方案


假设这是XDocument,你想要的是这样的:

XNamespace ns = "http://www.mis.sfm.se/mis20";
var numbers = doc.Descendants(ns + "number");

在这里,ns + "number"语法创建了一个XName命名空间 "http://www.mis.sfm.se/mis20"本地名称 "number"组成的。别名( "mis20") 无关紧要,因为别名只是为了避免文档中的重复。它并不存在。


XmlDocument它应该是这样的

var mgr = new XmlNamespaceManager(doc.NameTable);
mgr.AddNamespace("foo", "http://www.mis.sfm.se/mis20"); // the actual alias doesn't matter
var numbers = doc.SelectNodes("//foo:number", mgr);

推荐阅读