xpath从节点的菜单的父级兄弟中获取菜单

时间:2015-08-25 13:30:34

标签: xml xpath

我有一个xml结构:

<Pages>          <!--This is the root node-->

    <Home>
        <url>...</url>
        <menu>
            <item>Help</item>
            <item>About</item>
            <item>Contact</item>
        </menu>
    </Home>

    <Help>               
          <menu>                           <!--i need to select this if its parent(Help) is listed in Home/menu/item above-->
            <item>Business Help</item>
            <item>Web Help</item>
            <item>Tour Help</item>
          </menu>
    </Help> 

    <About>            
          <menu>                          <!--And Or select this if its parent(About) is listed in Home/menu/item above-->
            <item>About us</item>
            <item>About our food</item>
            <item>About our people</item>
        </menu>
    </About>

    <Contact>                              <!--And Or select this if its listed in Home/menu/item above-->
          ...
             and so on...
          ...
    </Contact>

</Pages>

我需要一个xpath表达式来选择任何页面的菜单子项(例如Help / menu,About / menu) 在主页/菜单/项目

中列出其菜单父名称(页面名称,例如“帮助”,“关于”或“联系人”)

任何帮助都将受到高度赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

一种可能的方式:

  <RelativeLayout
        android:id="@+id/img_container"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/img_picture"
            android:layout_width="100dp"
            android:layout_height="80dp"
            android:src="#0f0"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_margin="20dp"/>

        <TextView
            android:id="@+id/txt_subitem"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/img_picture"
            android:text="testing"
            android:layout_alignBottom="@id/img_picture"
            android:background="#00f"

            />

    </RelativeLayout>