Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net xpath:仅选择某些属性_Asp.net_Xpath_Attributes - Fatal编程技术网

asp.net xpath:仅选择某些属性

asp.net xpath:仅选择某些属性,asp.net,xpath,attributes,Asp.net,Xpath,Attributes,我有一个从xml文件填充的GridView,该文件具有以下结构: <menu> <item id="1" name="home" page="default.aspx"> *{...some stuff...}* <item> <item id="2" name="content" page="content.aspx"> *{...some stuff...}* <item> <item

我有一个从xml文件填充的GridView,该文件具有以下结构:

<menu>
  <item id="1" name="home" page="default.aspx">
     *{...some stuff...}*
  <item>
  <item id="2" name="content" page="content.aspx">
     *{...some stuff...}*
  <item>
  <item id="3" name="user" page="user.aspx">
     *{...some stuff...}*
  <item>
<menu>
<menu> 
  <item id="1" name="home" page="default.aspx"> 
     *{...some stuff...}* 
  <item> 
  <item id="2" name="content" page="content.aspx"> 
     *{...some stuff...}* 
  <item> 
  <item id="3" name="user" page="user.aspx"> 
     *{...some stuff...}* 
  <item> 
<menu>

*{…一些东西…}*
*{…一些东西…}*
*{…一些东西…}*
如你所知,这是我应用程序的菜单

如果我只是将该文件关联到一个xmldatasource,然后再关联到一个GridView,它(正确地)会显示如下网格:

id名称页

1 home default.aspx

2 content.aspx

3 user.aspx3 user.aspx

如何将xPath查询设置为仅显示名称属性/字段

我试过这些:

  • 菜单/item@name
  • 菜单/@name
  • //@名字
  • 但是没有起作用

    我有一个从 xml文件,其中包含以下内容 结构:

    <menu>
      <item id="1" name="home" page="default.aspx">
         *{...some stuff...}*
      <item>
      <item id="2" name="content" page="content.aspx">
         *{...some stuff...}*
      <item>
      <item id="3" name="user" page="user.aspx">
         *{...some stuff...}*
      <item>
    <menu>
    
    <menu> 
      <item id="1" name="home" page="default.aspx"> 
         *{...some stuff...}* 
      <item> 
      <item id="2" name="content" page="content.aspx"> 
         *{...some stuff...}* 
      <item> 
      <item id="3" name="user" page="user.aspx"> 
         *{...some stuff...}* 
      <item> 
    <menu>
    
    步骤2:使用以下XPath表达式之一(甚至还有更多表达式可以选择所需的节点):


    好问题,+1。有关问题的解释和完整解决方案,请参见我的答案。:)我认为这不是XPath问题,而是MS数据绑定问题。From:看起来需要设置
    asp:GridView
    元素的
    AutoGenerateColumns=“False”
    属性,然后使用
    列和
    asp:BoundField
    childs。关于xml:当然它的格式不是很好,因为我从头开始写,它实际上在我的项目中(xml更复杂,我只提到了它的简化版本)。无论如何,谢谢你,我会尝试这些查询,我会让你知道;)
    /*/item/@name
    
    /*/*/@name
    
    //@name