通过xml节点的属性获取到节点的其他属性

java代码:

String path = "/ui.xml";
File file = new File(path);

SAXReader reader = new SAXReader();
Document document = reader.read(new FileInputStream(file));
String xpath = "//*[@text='继续安装']";  // 获取到text=继续安装的节点
Element element = (Element) document.selectSingleNode(xpath);

List list = element.attributes();  // 获取到节点的所有属性
for (int i = 0; i < list.size(); i++){
    DefaultAttribute attribute = (DefaultAttribute)list.get(i);
    System.out.println(attribute.getName() + " " + attribute.getValue());
}

String resource-id = element.attributeValue("resource-id")  // 获取到节点的指定属性
System.out.println(resource-id);

使用的xml:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<hierarchy rotation="0">
    <node index="0" text="" resource-id="" class="android.widget.FrameLayout" package="com.android.packageinstaller"
          content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false"
          focused="false" scrollable="false" long-clickable="false" password="false" selected="false"
          bounds="[0,0][1080,2340]">
        <node index="0" text="" resource-id="" class="android.widget.LinearLayout"
              package="com.android.packageinstaller" content-desc="" checkable="false" checked="false" clickable="false"
              enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false"
              password="false" selected="false" bounds="[0,0][1080,2340]">
            <node index="0" text="" resource-id="android:id/content" class="android.widget.FrameLayout"
                  package="com.android.packageinstaller" content-desc="" checkable="false" checked="false"
                  clickable="false" enabled="true" focusable="false" focused="false" scrollable="false"
                  long-clickable="false" password="false" selected="false" bounds="[0,84][1080,2340]">
                <node index="0" text="继续安装"
                      resource-id="com.android.packageinstaller:id/continue_button"
                      class="android.widget.Button" package="com.android.packageinstaller"
                      content-desc="" checkable="false" checked="false" clickable="true"
                      enabled="true" focusable="true" focused="false" scrollable="false"
                      long-clickable="false" password="false" selected="false"
                      bounds="[48,1989][1032,2109]"/>
                <node index="1" text="取消"
                      resource-id="com.android.packageinstaller:id/cancel_button"
                      class="android.widget.Button" package="com.android.packageinstaller"
                      content-desc="" checkable="false" checked="false" clickable="true"
                      enabled="true" focusable="true" focused="false" scrollable="false"
                      long-clickable="false" password="false" selected="false"
                      bounds="[48,2148][1032,2268]"/>
            </node>
        </node>
    </node>
</hierarchy>

猜你喜欢

转载自blog.csdn.net/hxy199421/article/details/85097623