0
,我將從SOAP
服務器檢索XML數據。我還沒有遇到客戶端解析XML數據的任何困難,直到我有這樣的XML結構解析:在我的<code>GWT</code> web應用程序中使用XMLParser解析GWT中的XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
<data>
<list row="0">
<product_name>A</product_name>
<desc>product A</desc>
<promo>
<?xml version="1.0" encoding="UTF-8"?>
<root>
<data/>
</root>
</promo>
</list>
<list row="1">
<product_name>B</product_name>
<desc>product B</desc>
<promo>
<?xml version="1.0" encoding="UTF-8"?>
<root>
<data>
<list row="0">
<pname>Test</pname>
<pdesc>Test promo only</pdesc>
</list>
</data>
</root>
</promo>
</list>
</data>
<return_code>0</return_code>
</root>
有此XML,我已經檢索到的每個列表的PRODUCT_NAME和遞減與NodeList
和Element
。但我也必須檢索每個產品的促銷。
我試圖通過獲取促銷:
Document d = XMLParser.parse(xml); // xml - xml data retrieved from server
Element element = d.getDocumentElement();
NodeList nlist = element.getElementsByTagName("list");
final int count = nlist.getLength();
for(int i = 0; i < count; ++i) {
final Element list = (Element) nlist.item(i);
String product_name = ((Text)list.getElementsByTagName("fproductid")
.item(0).getFirstChild()).getData()
...
// get promo
String promo = d.getElementsByTagName("promo").item(0).
getFirstChild().getNodeValue();
Document dpromo = XMLParser.parse(promo);
...
}
當我檢查什麼是每個促銷的價值,我有相同的輸出:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<data/>
</root>
任何想法如何獲得場/促銷節點內的元素(即pname,pdesc)?