我已經開始使用Appcelerator在Windows Phone上進行開發。我正在使用我的Android代碼作爲基礎,同時我正在面對XML解析的特定問題。這是XML字符串:Appcelerator Windows Phone XML解析錯誤
<returnXml>
<methodStatus>
<statusType>success</statusType>
</methodStatus>
<parametersReturn />
</returnXml>
這是我試圖運行代碼:
var xml = Ti.XML.parseString(xmlString);
var statusType = xml.evaluate("/returnXml/methodStatus/statusType").item(0).text;
上面的代碼適用於Android精品,但Windows Phone上我得到:
TypeError: xml.evaluate is not a function
於是,我就用下面的代碼來代替:
getElementsByTagName("statusType")
但似乎Windows電話不支持這些功能,或者我在這裏犯了一些錯誤。我應該做其他事情還是應該尋找JavaScript的外部XML解析器庫?如果是這樣,請指導。
謝謝,這個問題是,DOM Level 3的API尚未對Windows Phone的實現爲報道PR。是的,** getElementsByTagName **通過使用_textContent_而不是_text_來工作。解決方法是使用** getElementsByTagName **,但是我如何實現它以類似於xPath表達式,因爲我有多個要評估的路徑節點。當我必須訪問路徑中的特定節點時,主要問題纔會到來,但其他路徑中也可能存在類似的節點。即如何區分'/ path1/methodStatus/statusType'和'/ path2/otherStatus/statusType'中的statusType節點? –
好吧,它不漂亮,但你可以做getElementsByTagName(「statusType」),然後遍歷結果並檢查每個節點的node.parentNode.tagName,以驗證它是你想要的。 –