我構建了一個Python腳本(帶有minidom)來操縱Android應用程序的佈局,該應用程序在XML文件中定義。窗口小部件是在android
命名空間的元素,例如:從XML的角度來看,名稱空間ID是存在的還是什麼是android:id?
<TextView android:id="@+id/myId" android:text="..." />
注意android:id
屬性及其所需的格式@+id/...
。我沒有找到一種方法來選擇getElementById()
。也許這是因爲我不知道minidom,但更可能是因爲我不太瞭解XML命名空間。
我記得id
是唯一標識樹中元素的屬性。我從來沒有看到命名空間ID,所以我猜想android:id
並非真正的ID,而是android
命名空間中恰好被稱爲id
的屬性。在這種情況下,無法getElementById
,因爲它適用於XML標識。目前我遍歷DOM,並檢查了android:id屬性,讓我的目標元素,但這種技術明顯比getElementById
不夠靈活直接
聲明:我標記此使用XSLT,因爲我認爲XSLT人能知道答案因爲它們習慣於使用XML和命名空間
一如既往的一些樣本輸入和所需的輸出XML真的會有幫助。我懷疑你是正確的,android是一個命名空間,但你應該能夠通過查看XML文檔的開頭是否存在xmlns聲明來檢查。 – Kevan 2012-03-13 20:30:26
'android' **是**的命名空間,毫無疑問。問題是如果名稱空間中名爲'id'的屬性可以用於'getElementById'。如果你想看到一個源XML [這裏](http://developer.android.com/guide/topics/ui/declaring-layout.html)是一些 – Raffaele 2012-03-13 20:46:31