0

私はこのxmlファイルを持っています:

  <Item Text="Reports" Navigateurl ="Reports/Default.aspx" Select="true">
  <Group>
    <Item Text="Customers" NavigateUrl="Reports/Customers/Default.aspx" Select="true">
      <Group>
        <Item Text="Customers" NavigateUrl="Reports/Customers/CustomerList.aspx" 
            Select="true"   />
        <Item Text="Customer Products" 
         NavigateUrl="Reports/Customers/CustomersProducts.aspx" Select="true" />
        <Item Text="Customer Measurements" 
        NavigateUrl="Reports/Customers/CustomerLocationMeasurements.aspx" Select="true"  />
        <Item Text="Customer Groups" NavigateUrl="Reports/Customers/CustomerGroups.aspx" 
         Select="true"/>
        <Item Text="Customer Outages" NavigateUrl="Reports/Customers/CustomerOutages.aspx" 
         Select="true" />
      </Group>
    </Item>
    <Item Text="Rules" NavigateUrl="Reports/Rules/Default.aspx" Select="true" >
      <Group>
        <Item Text="Customer Product Rules" 
         NavigateUrl="Reports/Rules/CustomerProducts.aspx" Select="true"/>
        <Item Text="Customer Product Rules Event Limits" 
          NavigateUrl="Reports/Rules/CustomerProductEventLimits.aspx" Select="true" />
        <Item Text="Customer Product  Rules Curtailable Days/Hours" 
         NavigateUrl="Reports/Rules/CustomerProductCurtailableDaysHours.aspx" 
          Select="true"  />
      </Group>
    </Item>
     </Group>
  </Item>

したがって、このXPATH式を使用すると、

          XmlDataSource XmlDataSource1 = new XmlDataSource();
        XmlDataSource1.DataFile = "~/Menu.xml";
        XmlDataSource1.XPath = "//Item[@Text ='Reports']/Group/Item                  
                                  [@Select='true']       
        XmlDataSource1.DataBind();
        SiteMap1.DataSource = XmlDataSource1;

私はこの出力を取得します:

         Customers
            Group
               Customer Pages
          Rules
             Group
               Rules Pages

ただし、出力にGroupタグを表示したくありません。これを実現する方法を教えてください。

4

1 に答える 1

1

XPath は、ノードを選択したり、XML ドキュメントから他のデータを抽出したりするためのクエリ言語です。そのため、ノードの削除など、ドキュメントの構造を変更することはできません

この種の処理 (変換と呼ばれる) は、XSLT を使用して簡単に実行できますが、XQuery を使用すると (それほど簡単ではありません) 実行できます。

于 2012-05-09T14:30:21.127 に答える