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>