亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在根元素的語法中使用命名空間前綴解析 XML - Java

在根元素的語法中使用命名空間前綴解析 XML - Java

九州編程 2021-09-29 11:00:30
我有一個XML形式:<?xml version="1.0" encoding="UTF-8"?><semseg:Envelope xmlns:semseg="http://a-random-URL" xmlns="http://another-random-URL">    <semseg:subject>Subject</semseg:subject>    <semseg:Sender>        <semseg:name>Me</semseg:name>    </semseg:Sender>    <Triangle>        <Triangle time='2017-11-29'>            <Triangle key='a' value='b'/>            <Triangle key='c' value='d'/>            <Triangle key='e' value='f'/>            <Triangle key='g' value='h'/>        </Triangle>    </Triangle></semseg:Envelope>我試圖檢索元<Triangle>(不 <Triangle time='2017-11-29'>-元素名稱是在這個XML有點重復)使用XPath。部分代碼如下:DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();documentBuilderFactory.setNamespaceAware(true);DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();Document doc = documentBuilder.parse("file.xml");XPathFactory xPathFactory = XPathFactory.newInstance();XPath xPath = xPathFactory.newXPath();XPathExpression xpr = xPath.compile("/semseg:Envelope/Triangle");NodeList nodes = (NodeList)xpr.evaluate(doc, XPathConstants.NODESET);XPath不幸的是,由于沒有選擇任何元素,我已經嘗試了許多可能的組合,但沒有任何運氣。盡管如此,XPath使用這個在線XPath檢查器和相同的XML文件測試相同的結果會產生我正在尋找的結果。它甚至適用于使用 XPaths 進行屬性檢索,例如/semseg:Envelope/Triangle/Triangle/@time似乎命名空間前綴有問題。解析XML沒有任何命名空間前綴的 s 與XPath.
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊


這對我有用

/\*[local-name()='Envelope']/\*[local-name()='Triangle']/\*[local-name()='Triangle']/@time


查看完整回答
反對 回復 2021-09-29
  • 1 回答
  • 0 關注
  • 207 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號