当前位置:编程学习 > C#/ASP.NET >>

C#从XML文件利用XPAth获取指定属性值,并显示到datagridview

XML如下
<?xml version="1.0" encoding="utf-8"?>
<LanguageResource>
  <LangType lang="zh-CN">
    <Menu>
      <MenuItem Name="menuStrip_MainMenu" Text="主菜单容器" ParentName="NULL">  </MenuItem>
      <MenuItem Name="toolStripMenu_File" Text="文件" ParentName="menuStrip_MainMenu"</MenuItem>
      <MenuItem Name="toolStripMenu_New" Text="新建" ParentName="toolStripMenu_File"></MenuItem>
      <MenuItem Name="toolStripMenu_NewProjectXX" Text="新建飞机" ParentName="toolStripMenu_NewProject"> </MenuItem>
      <MenuItem Name="toolStripMenu_OpenProject" Text="打开项目" ParentName="toolStripMenu_New"> </MenuItem>
      <MenuItem Name="toolStripMenu_Quit" Text="退出" ParentName="menuStrip_MainMenu"></MenuItem>
      <MenuItem Name="toolStripMenu_View" Text="查看" ParentName="menuStrip_MainMenu"></MenuItem>
      <MenuItem Name="toolStripMenu_Project" Text="项目" ParentName="toolStripMenu_View"></MenuItem>
      <MenuItem Name="toolStripMenu_Editor" Text="编辑器" ParentName="toolStripMenu_View"></MenuItem>
      <MenuItem Name="toolStripMenu_Help" Text="帮助" ParentName="menuStrip_MainMenu"></MenuItem>
      <MenuItem Name="toolStripMenu_About" Text="关于" ParentName="toolStripMenu_Help"></MenuItem>
      <MenuItem Name="dsfasdfasdfsdf" Text="fsdfasdfas" ParentName="toolStripMenu_NewProject" />
      <MenuItem Name="gsdfgsdfgsfdg" Text="adgfdgdfg" ParentName="toolStripMenu_NewProject" />
    </Menu>
    <Picture></Picture>
  </LangType>
  <LangType lang="en-US">
    <Menu>
      <MenuItem Name="menuStrip_MainMenu" Text="MainMenuContainer" ParentName="NULL"></MenuItem>
      <MenuItem Name="toolStripMenu_File" Text="File" ParentName="menuStrip_MainMenu"></MenuItem>
      <MenuItem Name="toolStripMenu_New" Text="New" ParentName="toolStripMenu_File"></MenuItem>
      <MenuItem Name="toolStripMenu_NewProject" Text="New Project" ParentName="toolStripMenu_New"></MenuItem>
      <MenuItem Name="toolStripMenu_NewProjectXX" Text="New XX" ParentName="toolStripMenu_NewProject"></MenuItem>
      <MenuItem Name="toolStripMenu_OpenProject" Text="Open Project" ParentName="toolStripMenu_New"></MenuItem>
      <MenuItem Name="toolStripMenu_Quit" Text="Quit" ParentName="menuStrip_MainMenu"></MenuItem>
      <MenuItem Name="toolStripMenu_View" Text="View" ParentName="menuStrip_MainMenu"></MenuItem>
      <MenuItem Name="toolStripMenu_Project" Text="Project" ParentName="toolStripMenu_View"></MenuItem>
      <MenuItem Name="toolStripMenu_Editor" Text="Editor" ParentName="toolStripMenu_View"></MenuItem>
      <MenuItem Name="toolStripMenu_Help" Text="Help" ParentName="menuStrip_MainMenu"></MenuItem>
      <MenuItem Name="toolStripMenu_About" Text="About" ParentName="toolStripMenu_Help"></MenuItem>
      <MenuItem Name="dsfasdfasdfsdf" Text="Null" ParentName="toolStripMenu_NewProject" />
      <MenuItem Name="gsdfgsdfgsfdg" Text="Null" ParentName="toolStripMenu_NewProject" />
    </Menu>
    <Picture></Picture>
  </LangType>
</LanguageResource>


怎么将menuitem  显示到datagridview里面  求大侠帮忙 --------------------编程问答-------------------- 根据<LangType lang="en-US"> 
    <LangType lang="zh-CN">  不同
要把menultem分成两部分分两次显示到datagridview里面 --------------------编程问答--------------------
引用 1 楼 u011275452 的回复:
根据<LangType lang="en-US"> 
    <LangType lang="zh-CN">  不同
要把menultem分成两部分分两次显示到datagridview里面
这个后台根据传进去的参数不同获取不同节点下面的menuitem不就行了,xpath很好取值的呀,你直接根据传进来的参数,获取lang="参数",然后或者该节点下面的menuitem就行,都不用判断 --------------------编程问答-------------------- /LangType[@lang='参数(zh-CN或者en-US)']/menuitem/@Text --------------------编程问答-------------------- 我就是不知道/LangType[@lang='参数(zh-CN或者en-US)']/menuitem/@Text
怎么把这个写到代码里去 帮忙整个代码给我看看 我是菜鸟 --------------------编程问答-------------------- 给你贴个运行出来的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Xml.XPath;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string path = Server.MapPath("XMLFile.xml");
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(path);
        XmlNodeList list = xmlDoc.DocumentElement.SelectNodes("/LanguageResource/LangType[@lang='zh-CN']/Menu/MenuItem");
        foreach (XmlNode menu in list)
        {
            string title = menu.Attributes["Text"].Value;
        }
    }
} --------------------编程问答-------------------- 你这个xml文件有问题, <MenuItem Name="toolStripMenu_File" Text="文件" ParentName="menuStrip_MainMenu"</MenuItem>这个地方少个>,加上
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,