XPath解析XML
来源:互联网 发布:黑客为什不去干程序员 编辑:程序博客网 时间:2024/06/07 08:51
xpath 介绍
xpath w3c api
项目应用
项目中webservice接口接收xml字符串参数,使用xpath
解析
<!--XML模板--><building> <sellProject></sellProject> <!--销售项目--> <number></number> <!--楼栋编码--> <name></name> <!--楼栋名称--> <subarea></subarea> <!--所属分区--> <units><!--单元分录--> <seq></seq> <!--单元序号--> <name></name> <!--单元名称--> <number></number> <!--单元编码--> <description></description> <!--单元描述--> </units></building> **注意:XML传输格式中不允许带有“<!---->”注释片段,不然解析后台代码DocumentBuilder 转换为Document时不会报错**
// java使用xpath解析XML后台代码 InputStream is = new ByteArrayInputStream(syncData.getBytes("UTF-8")); // 将字符串转化为字符流 DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = domFactory.newDocumentBuilder(); Document document = documentBuilder.parse(is); XPathFactory factory = XPathFactory.newInstance(); // 创建XPathFactory XPath xPath = factory.newXPath(); // 用这个工厂创建 XPath对象 // 获取building下所有节点 NodeList nodeList = (NodeList)xPath.evaluate("building", document, XPathConstants.NODESET); for(int i =0;i<nodeList.getLength();i++){ Node item = nodeList.item(i); /*Element element =(Element)item; NamedNodeMap attributes = item.getAttributes();*/ String sellProject = (String)xPath.evaluate("sellProject", item, XPathConstants.STRING); checkThis("sellProject",sellProject);// 校验节点值是否为空 String name = (String)xPath.evaluate("name", item, XPathConstants.STRING); NodeList roomModels = (NodeList)xPath.evaluate("building/roomModels", document, XPathConstants.NODESET); for(int j = 0; j<roomModels.getLength();j++){ Node roomItem = roomModels.item(j); String roomName = (String)xPath.evaluate("name", roomItem, XPathConstants.STRING); checkThis("roomName",roomName); String roomNumber = (String)xPath.evaluate("number", roomItem, XPathConstants.STRING); checkThis("roomNumber",roomNumber); String roomModelType = (String)xPath.evaluate("roomModelType", roomItem, XPathConstants.STRING); checkThis("roomModelType",roomModelType); } }
阅读全文
0 0
- DOM4J+XPath 解析XML
- 使用XPATH解析xml
- android XPath 解析xml
- oracle xpath 解析xml
- xpath解析xml
- xpath、dtd解析xml
- XPATH解析XML
- XPath 文档 解析XMl
- XPath快速解析XML
- XPath解析xml
- Java XPath解析XML
- XML解析 + XPath
- XML解析、生成、Xpath
- XML XPATH解析
- xpath解析xml文档
- XPath解析XML
- XML解析之XPath解析
- xml解析之XPath表达式
- mysql--16330结果集运算
- SpringBoot: jpa基本使用
- 解决 Tomcat v7.0 Server at localhost was unable to start within 45 seconds
- android添加购物车动画、天气应用、渐变状态栏、文件选择器等源码
- 查漏补缺_1
- XPath解析XML
- php时间戳范围
- shaderforge的get set 节点还是很容易出bug的
- 开篇随笔
- 怎么针对自己项目工程建立Repo管理多个git仓库?
- PHPCMS本地项目二次开发流程
- 基于Docker快速地部署可持续自动化测试平台
- SpringMVC-FAQ(1):HTTP Status 500
- CSS3/HTML5—3D