java通过XPATH解析XML
2013-11-25 20:49
393 查看
http://www.oschina.net/code/snippet_573074_12408
package testXpath; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.HashMap; import java.util.Map; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.stream.StreamSource; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; import org.w3c.dom.NodeList; public class TestXpathExample { public static void main(String args[]) throws FileNotFoundException, TransformerException, XPathExpressionException{ TransformerFactory transFact = TransformerFactory.newInstance(); Transformer transFormer = transFact.newTransformer(); DOMResult dom = new DOMResult(); transFormer.transform(new StreamSource(new FileInputStream(new File("test.xml"))), dom); XPath xpath = XPathFactory.newInstance().newXPath(); @SuppressWarnings("serial") Map<String,String> prefix2uri = new HashMap<String,String>(){{ put("foo","http://www.baidu.com"); put("bar","http://www.google.com"); }}; @SuppressWarnings("serial") Map<String,String> uri2prefix = new HashMap<String,String>(){{ put("http://www.baidu.com","foo"); put("http://www.google.com","bar"); }}; xpath.setNamespaceContext(new NsSolver(prefix2uri,uri2prefix)); XPathExpression expression = xpath.compile("//player"); NodeList nodeList = (NodeList)expression.evaluate(dom.getNode(),XPathConstants.NODESET); for(int i = 0; i < nodeList.getLength(); i++){ System.out.println(nodeList.item(i).getNodeName()); } } }
相关文章推荐
- JAVA通过XPath解析XML性能比较(原创)
- JAVA通过XPath解析XML性能比较
- JAVA通过XPath解析XML性能比较详解
- JAVA调用返回XML格式数据的WebService,并通过XPath解析XML的应用
- JAVA通过XPath解析XML性能比较
- JAVA通过XPath解析XML性能比较
- JAVA通过XPath解析XML性能比较
- JAVA通过XPath解析XML性能比较
- xml解析 dom4j通过XPath找标签
- java通过url获取页面数据 java解析xml 基金净值接口使用方法
- java使用dom4j和XPath解析XML与.net 操作XML小结
- java使用dom4j和XPath解析XML与.net 操作XML小结
- JAVA 遇上XML|通过DOM来解析XML文件
- java中XML文档解析2(dom4j)和xpath的使用
- java中使用Dom4j的xPath解析xml文件
- java 解析xml文档---通过XmlPullParser解析方式
- Java 通过xpath操作xml
- java使用xpath解析xml示例分享
- java网络编程--解析通过web.xml文件控制利用过滤器实现编码格式步骤
- java结合XPATH解析XML