我试图解析一个XML文件(从VS 2012中的Dependacy Graph中获取它)。C#从根节点删除属性
这里是我的.xml文件
<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph xmlns="http://schemas.microsoft.com/vs/2009/dgml">
<Nodes>
<Node Id="@101" Category="CodeSchema_ProjectItem" FilePath="$(ProgramFiles)\windows kits\8.0\include\um\unknwnbase.h" Label="unknwnbase.h" />
<Node Id="@103" Category="CodeSchema_ProjectItem" FilePath="$(ProgramFiles)\windows kits\8.0\include\shared\wtypesbase.h" Label="wtypesbase.h" />
的样品在这里,我需要从将DirectedGraph删除属性 “的xmlns”。
这里是我的源代码,以消除这种
XmlNodeList rootNode = xmlDoc.GetElementsByTagName("DirectedGraph");
foreach (XmlNode node in rootNode)
{
node.Attributes.RemoveNamedItem("xmlns");
}
但是这个代码不工作。如果我不删除这个,我不能选择节点像
XmlNodeList nodes = xmlDoc.DocumentElement.SelectNodes("/DirectedGraph/Nodes/Node");
我该怎么办?
一个良好的XML应该有xmlns属性。 – Matthias
是否删除名称空间的实际要求?不是你的要求只是为了能够解析XML文件?如果我是对的,你必须处理Xml命名空间。 –