使用xpath选择xml的一部分

时间:2012-05-09 00:15:56

标签: c# xml xpath

我在服务器上有一个大的xml文件。但是,我需要该xml文件的一部分,以便我可以将其绑定到XMLDATASOURCE。这是我的xml文件的一部分:

       <Item Text="Reports" Navigateurl ="Reports/Default.aspx">
          <Group>
             <Item Text="Customers" NavigateUrl="Reports/Customers/Default.aspx">
                      <Group>
                             <Item ... />
                              <Item.. />
                                ..... 
                       </Group>
            </Item>

这样我就有了组标签中的项目。所以,现在我有一个xml数据源,我稍后将其绑定到RadSiteMap。这是我在C#中编写的代码:

          XmlDataSource XmlDataSource1 = new XmlDataSource();
          XmlDataSource1.DataFile = "~/Menu.xml";
          XmlDataSource1.XPath = "//Item[@Text='Customers']";
          XmlDataSource1.DataBind();
           SiteMap1.DataBind();
        SetSiteMapLevel();

           <asp:XmlDataSource ID="XmlDataSource1" runat="server"  
            DataFile="~/Menu.xml"></asp:XmlDataSource>
           <telerik:RadSiteMap runat="server" ID="SiteMap1" DataSourceID="XmlDataSource1"  
              OnNodeDataBound="SiteMap1_NodeDataBound" ShowNodeLines="true"> 

它工作正常,但以时尚的方式显示:

          Customer
            group 
              ItemName1
               ..........

但是,我不希望出现组标记。可以对xml文件进行更改,但我只是想查找是否有任何方法可以使组标记不显示。请让我知道解决方案。

1 个答案:

答案 0 :(得分:0)

尝试使用此XPath它应该可以正常工作

XmlDataSource1.Xpath = "//Item[@Text='Customers']/Group";

这应该可以为您提供组标记客户

内的内容