java 解析xml 多命名空间问题

先贴段有命名空间的xml吧。。

<feed xmlns:im="http://itunes.apple.com/rss" xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
<id>...</id>
<title>iTunes Store:热门免费应用程序 在 Games</title>
<updated>2014-08-25T23:04:45-07:00</updated>
<link rel="alternate" type="text/html" href="https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewTop?cc=cn&id=29094&popId=27"/>
<link rel="self" href="https://itunes.apple.com/cn/rss/topfreeapplications/limit=100/genre=6014/xml"/>
<icon>http://itunes.apple.com/favicon.ico</icon>
<author>...</author>
<rights>Copyright 2008 Apple Inc.</rights>
<entry>
<updated>2014-08-25T23:04:45-07:00</updated>
<id im:id="838804006" im:bundleId="com.tencent.king.candycrushsaga">
https://itunes.apple.com/cn/app/tang-guo-chuan-qi/id838804006?mt=8&uo=2
</id>
<title>
糖果传奇 - Shenzhen Tencent Computer Systems Company Limited
</title>
<summary>
《糖果传奇》(Candy Crush Saga)是全球最受欢迎的微策略消除手游大作。以它梦富有挑战性的闯关地图、梦幻甜美的糖果风格、丰富趣味的音效、爽快流畅的手感,以及独创的微策略消除玩法,带给玩家最高品质的休闲互动体验。 在《糖果传奇》中,用户在游戏中购买的游戏代币“金条”仅限于在此应用中使用。腾讯平台上的虚拟货币, 比如Q币、Q点都无法在游戏内使用。
</summary>
<im:name>糖果传奇</im:name>
<link rel="alternate" type="text/html" href="https://itunes.apple.com/cn/app/tang-guo-chuan-qi/id838804006?mt=8&uo=2"/>
<im:contentType term="Application" label="程序"/>
</entry>
</feed>

注意到没这段xml中有 <im:name>还有属性也有 im:id 这类的,在这种情况下,就要使用命名空间了,在.net 环境下只需一句代码就可以解决了。但java就要写好多代码了。。

转一篇ibm的文章很全...我也是从那边学习的。。

java 解析xml有两个jar包(我所知),一个是org.w3c.dom下的,一个是dom4j下的,其中dom4j解析xml命名空间的资料有很多。这里的ibm使用的是 org.w3c.dom 来解析多命名空间下的xml文件,有文章及代码。。见链接:

http://www.ibm.com/developerworks/cn/xml/x-nmspccontext/

代码

时间: 2024-11-06 12:29:30

java 解析xml 多命名空间问题的相关文章

XML基础+Java解析XML +几种解析方式的性能比较

XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数据,其焦点是数据的内容. HTML 被设计用来展示数据,其焦点是数据的外观. HTML可以不关闭标签(即标签可以不成对出现),但XML必须关闭标签(即标签必须成对出现). HTML中的标签标识文本如何展示,而XML中的标签标识文本是什么含义(什么类型的文本). XML文档节点类型 u     文档(

JAVA解析XML之SAX方式

JAVA解析XML之SAX方式 SAX解析xml步骤 通过SAXParseFactory的静态newInstance()方法获取SAXParserFactory实例factory 通过SAXParserFactory实例的newSAXParser()方法返回SAXParser实例parser 创建一个类继承DefaultHandle,重写方法进行业务处理并创建这个类的实例handle 重写DefaultHandle类的方法 startElement方法用来遍历xml文件的开始标签; endEle

java解析xml的三种方法

java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; // public class Saxhandler extends DefaultHandler { @Override public void startDocument() throws

java解析xml汇总

转载于http://www.cnblogs.com/jiugehuanying/archive/2012/01/12/2320058.html [目录] 一.[基础知识——扫盲] 二.[DOM.SAX.JDOM.DOM4j简单使用介绍] 三.[性能测试] 四.[对比] 五.[小插曲XPath] 六.[补充] 关键字:Java解析xml.解析xml四种方法.DOM.SAX.JDOM.DOM4j.XPath [引言] 目前在Java中用于解析XML的技术很多,主流的有DOM.SAX.JDOM.DOM

java解析xml获取对应值

xml如下 <?xml version="1.0" encoding="UTF-8"?><ResponseInfo><ResCode>Success</ResCode><ResMessage>Success</ResMessage><ErrorNo>0</ErrorNo><ResultToken>1000_httpd_20161107215454_c37de7

Java解析XML之Dom4j

Java解析XML文件的方法有多种,个人感觉最常用的是使用Dom4j来解析XML文件.下面就简单介绍下Dom4j的基础使用. Dom4j需要jar包的支持,大家可以从网络上下载,如dom4j-1.6.1.jar: 下载好JAR包以后,只要导入我们的工程就可以使用了,Java WEB工程导入路径为:WebRoot/WEB-INF/lib目录下: 代码示例: 一.查看xml文档基础操作(以封装方法展示): public static void run() throws Exception { //获

详解Java解析XML的四种方法

(1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取 和操作文档的任意部分,是W3C的官方标准 [优点] ①允许应用程序对数据和结构做出更改. ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据. [缺点] ①通常需要加载整个XML文档来构造层次结构,消耗资源大. [解析详解] ①构建Document对象: DocumentBuilderFactory dbf = DocumentBu

Java 解析 XML

Java 解析 XML XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点: 便于实现增 删 改 查 缺点: XML文件过大可能造成内存溢出 SAX方式 采用事件驱动模型边读边解析:从上到下一行行解析,解析到某一元素, 调用相应解析方法 优点: 不会造成内存溢出, 缺点: 查询不方便,但不能实现 增 删 改 不同的公司和组织提供了针对DOM和SAX两种方式的解析器 SUN的jaxp Dom4j

JAVA解析XML之DOM方式

JAVA解析XML之DOM方式 准备工作 创建DocumentBuilderFactory对象;    创建DocumentBuilder对象; 通过DocumentBuilder对象的parse方法加载xml 解析XML文件的属性名和属性值 解析XML文件的节点名和节点值 常用方法如下: getElementsByTagName(); getLength(); item(); getNodeName(); getNodeValue(); getNodeType(); *getAttribute