欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JDOM2.0.5版本通過(guò)xpath讀取xml或讀取帶有命名空間的xml

org.jdom2.xpath.XPath類(lèi)居然標注過(guò)時(shí),無(wú)奈之下只能研究api。


發(fā)現Use XPathFactory/XPathExpression/XPathBuilder instead.


也就是說(shuō)jdom應該是將xpath類(lèi)的功能進(jìn)行了更加詳細的分類(lèi)。


根據經(jīng)驗進(jìn)行了一些類(lèi)的測試,最后得出了讀取xml的兩種方式。


第一種方式,通過(guò)XPathFactory類(lèi)讀取xml


xml文件的內容如下

  1. <span style="font-size:14px"><?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="test.xsl"?>  
  3. <homepages xmlns:xlink="http://www.w3.org/1999/xlink">  
  4.   
  5.   <homepage xlink:type="simple"  
  6.   xlink:>Visit W3C</homepage>  
  7.     
  8. </homepages></span>  

通過(guò)SAXBuilder獲取document和root


  1. String path = System.getProperty("user.dir") + "\\src\\com\\xml\\file\\test.xml";  
  2.           
  3. SAXBuilder saxBuilder = new SAXBuilder();  
  4.           
  5. Document document = saxBuilder.build(path);  
  6.           
  7. Element root = document.getRootElement();  


建立XPathFactory類(lèi)的對象,需要引入jaxen的jar包,我們使用JaxenXPathFactory類(lèi)來(lái)生成XPathFactory

  1. XPathFactory factory = JaxenXPathFactory.instance();  


生產(chǎn)xpath表達式實(shí)例對象,并獲取結果集

  1. XPathExpression<Object> objs = factory.compile("http://homepages");  
  2.           
  3. List<Object> objList = objs.diagnose(root, false).getResult();  

完整代碼是

  1. String path = System.getProperty("user.dir") + "\\src\\com\\xml\\file\\test.xml";  
  2.           
  3. SAXBuilder saxBuilder = new SAXBuilder();  
  4.           
  5. Document document = saxBuilder.build(path);  
  6.           
  7. Element root = document.getRootElement();  
  8.           
  9. XPathFactory factory = JaxenXPathFactory.instance();  
  10.           
  11. XPathExpression<Object> objs = factory.compile("http://homepages");  
  12.           
  13. List<Object> objList = objs.diagnose(root, false).getResult();  

第二種方式,通過(guò)XPathBuilder獲取xpath表達式的實(shí)例對象集合

首先來(lái)創(chuàng )建一個(gè)filter,org.jdom2.filter.Filters中提供給我們了一些過(guò)濾器,我們這里選擇元素類(lèi)型的,Filter接口的全名是org.jdom2.filter.Filter

  1. Filter<Element> filter = Filters.element();  

生成XPathBuilder對象

  1. XPathBuilder<Element> builder = new XPathBuilder<Element>("http://homepages", filter);  

根據它的compileWith(XPathFactory factory)方法來(lái)獲取到我們需要的xpath表達式的實(shí)例對象集合

  1. XPathFactory factory = JaxenXPathFactory.instance();  
  2.           
  3. XPathExpression<Element> objs = builder.compileWith(factory);  

之后的方式就和方法1一樣了。

完整代碼是

  1. String path = System.getProperty("user.dir") + "\\src\\com\\xml\\file\\test.xml";  
  2.           
  3. SAXBuilder saxBuilder = new SAXBuilder();  
  4.           
  5. Document document = saxBuilder.build(path);  
  6.           
  7. Element root = document.getRootElement();  
  8.           
  9. Filter<Element> filter = Filters.element();  
  10.           
  11. XPathBuilder<Element> builder = new XPathBuilder<Element>("http://homepages", filter);  
  12.           
  13. XPathFactory factory = JaxenXPathFactory.instance();  
  14.           
  15. XPathExpression<Element> objs = builder.compileWith(factory);  
  16.           
  17. List<Element> objList = objs.diagnose(root, false).getResult();     

獲取帶有命名空間的xml文件內容

使用XPathBuilder的setNamespace方法聲明命名空間,Xpath表達式不需要再寫(xiě)"http://",例如

  1. XPathBuilder<Element> builder = new XPathBuilder<Element>("ci:Teacher", filter);  
  2.           
  3. builder.setNamespace("ci", "http://www.test.cn/tuple");  





本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
用DOM/JDOM解析XML文件(3)
JDOM/XPATH編程指南
JDOM+XPATH解析XML
使用JDOM設計簡(jiǎn)單的JSP+XML的系統留言板
JDom使用詳解
JDOM 介紹及使用指南
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久