我正在上發青的Web應用程序中的XML使用XPath鏈接場!框架。 我必須解析一個XML文檔。我使用Play.libs的XPath。解析原子:從Play.libs
這裏是一片文件的,我沒有成功檢索:
<atom:link rel="self" href="http://mylink.com/">
而且一段代碼我寫的。
import java.util.Map;
import java.util.HashMap;
import org.w3c.dom.*;
import play.libs.XPath;
import play.libs.WS;
import play.libs.ws.*;
WS.HttpResponse response = // I retrieve a Http response
Document xmlDoc = response.getXml();
Map<String,String> namespaces = new HashMap<String,String>(){{put("atom", "http://www.w3.org/2005/Atom");}}
Node link = XPath.selectNode("atom:link", xmlDoc, namespaces)
我也試過
Node link = XPath.selectNode("link", xmlDoc, namespaces)
失敗和返回null。
編輯: 我在網頁(here)上發現此問題可能來自DocumentBuilder(文檔不知道名稱空間)。但是我沒有構建它,這是Openstack Compute API中的一個非常規的反應。這意味着我無法控制它的構建方式。
如果你想看到完整的XML文檔:here
EDIT2: 看起來像我有一個「沒有名稱空間感知的問題」,任何建議,以避免這個問題?
是您參考文檔完整的文件或文件? –
這是一個文件。這是一個寫得很好的XML文檔,我無法控制。 – yco