C# 读取带xmlns 命名空间的XML
来源:互联网 发布:saas模式 数据库设计 编辑:程序博客网 时间:2024/05/24 06:31
- private void ViewTask1(XmlDocument root)
- {
-
- string strXPath = "//abc:SummaryName";
- XmlNamespaceManager namespaceManager = new XmlNamespaceManager(root.NameTable);
- namespaceManager.AddNamespace("abc", "http://tempuri.org/");
- XmlNodeList list = root.SelectNodes(strXPath, namespaceManager);
- DataTable dt = new DataTable();
- if (root.SelectNodes(strXPath, namespaceManager).Count == 0)
- {
- this.GridView1.EmptyDataText = "没有带办项目";
- this.GridView1.DataBind();
- }
- else
- {
-
- XmlNode xmlnode = root.SelectSingleNode(strXPath, namespaceManager).ChildNodes[0];
- DataColumn dc = null;
- for (int i = 0; i < xmlnode.Attributes.Count; i++)
- {
- dc = new DataColumn(xmlnode.Attributes[i].Name);
- dt.Columns.Add(dc);
- }
- foreach (XmlNode n in list)
- {
- foreach (XmlNode nn in n.ChildNodes)
- {
- DataRow dr = dt.NewRow();
- for (int i = 0; i < dt.Columns.Count; i++)
- {
- dr[i] = nn.Attributes[i].Value;
- }
- dt.Rows.Add(dr);
- }
- }
- }
- this.GridView1.DataSource = dt;
- this.GridView1.DataBind();
- }