2011-12-03 107 views
1

我正在使用Rhino 1.7R3處理XML,並且無法訪問xml:id屬性。使用XML對象獲取xml:id屬性

var bond = new XML('<person xml:id="007" profession="agent">James Bond</person>'); 
print(bond); // "James Bond" 
print([email protected]); // "agent" 
print([email protected]:id); // ERROR: missing) after argument list 

我試過把xml:id放在引號和方括號內,但它沒有解決問題。有沒有辦法?


編輯:我把它定義命名空間的工作。之後,這兩種方法都西瓦建議工作:

var xml = new Namespace("xml", "http://www.w3.org/XML/1998/namespace"); 
var bond = new XML('<person xml:id="007" profession="agent">James Bond</person>'); 
print(bond); // "James Bond" 
print([email protected]); // "agent" 
print([email protected]::id); // "007" 
print([email protected]::id); // "007" 

回答

3

嘗試這種方式

print([email protected]::id); 

print([email protected]::id); 
+1

如果你想知道這裏發生了什麼,那就是你相匹配的預定義的['xml'命名空間](http://www.w3.org/XML/1998/namespace)中的'id'屬性,它總是http://www.w3.org/XML/1998/namespace和必須始終具有前綴「xml」。你可以用'prefix =「uri」'或'var prefix = new Namespace('uri')'聲明其他命名空間,然後與'prefix ::' –

+0

Siva&Francis匹配,我通過結合你的建議來工作。謝謝。 – geca