Java jdom解析xml文件带冒号的属性

转载请标明出处:
https://dujinyang.blog.csdn.net/article/details/99644824
本文出自:【奥特曼超人的博客】

如果xml文件解析带了冒号的属性,一般都是要特别处理,这里是命名空间,比如android的AndroidManifest.xml,N年前遇到过一次忘记记录,后来也忘了,当时好像用的DOM4J,这次用的JDOM,记录下。

解决了,记录下,分享给大家,百度到的都是没有任何用的,这里需要解析的是属性。

DOM4J 可以用,但是便于项目的轻量级,纠结了后,这次使用JDOM 。

以前使用的是正常节点的xml,现在是android的一些配置文件,所以之后出现一系列异常,比如:JDOM cannot handle metadata attributes with namespace prefix等等……

中间百度谷歌了一阵,没有结果,也看了XPath、Jaxen、XNode、XDocument等等,为何这么复杂还回去不到,已经获取到根节点的element了,想了下,jdom应该有考虑带解析冒号的,有的可以@代替,但jdom试了很久,没有结果。

最后还是分析了源代码很久才发现了问题:

既然我们需要的是带冒号的节点属性,那肯定是需要制定NameSpace命名空间的,不需要靠 XPATH 或者 jaxen的,不然它就是默认的命名空间了。

所以这里只需要指定一下就可以:

Namespace type=Namespace.getNamespace("android","http://schemas.android.com/apk/res/android");
System.out.println(ele.getAttributeValue("name",type));

XML文件:(AndroidManifest.xml)

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:compileSdkVersion="29"
android:compileSdkVersionCodename="6.2-2438415"
android:installLocation="auto"
package="com.dujinyang.xxxx"
platformBuildVersionCode="23"
platformBuildVersionName="6.2-2438415"><uses-feature android:glEsVersion="0x000520000"/><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/><uses-permission android:name="android.permission.READ_LOGS"/><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/><uses-permission android:name="android.permission.GET_TASKS"/><uses-permission android:name="android.permission.RECORD_AUDIO"/><uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/><application android:allowBackup="true" android:banner="@drawable/app_banner" android:debuggable="false" android:hasCode="true"  android:icon="@drawable/app_icon" android:isGame="true" android:label="immqy" android:largeHeap="true" android:name="com.dujinyang.xxxx"  android:theme="@style/UnityThemeSelector"><activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize" android:icon="@drawable/app_icon" android:label="immqy" android:launchMode="singleTop" android:name="com.immqy.3d.activity.UnityMainActivity" android:screenOrientation="landscape"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/><category android:name="android.intent.category.LEANBACK_LAUNCHER"/></intent-filter></activity><meta-data android:name="unity.build-id" android:value="abc53v45wtw5aasdfg"/><meta-data android:name="unity.splash-mode" android:value="1"/><meta-data android:name="unity.splash-enable" android:value="true"/><meta-data android:name="android.max_aspect" android:value="3"/><meta-data android:name="POOLSDK_CHANNEL_ID" android:value="5201314"/><meta-data android:name="POOLSDK_CUSTOM_ID" android:value="{}"/><activity android:configChanges="keyboardHidden|orientation|screenSize" android:launchMode="singleTask" android:name="com.DUJINYANG.sdk.view.WebViewActivity" android:screenOrientation="portrait"/><service android:exported="true" android:name="com.ch.sys.sdk.service.FloatViewService"/><activity android:configChanges="keyboardHidden|orientation|screenSize" android:name="com.KARL.sdk.H5WebViewActivity" android:screenOrientation="portrait"/><meta-data android:name="SBSBSB" android:value="67329"/></application>
</manifest>

联系方式请看首页,如果大家有 疑难杂症 的可以看这里:《Bug 疑难杂症 | 不分语言》

|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。

Java jdom解析xml文件带冒号的属性相关推荐

  1. java xml中的冒号_Java jdom解析xml文件带冒号的属性

    Java jdom解析xml文件带冒号的属性 如果xml文件解析带了冒号的属性,一般都是要特别处理,这里是命名空间,N年前遇到过一次忘记记录,后来也忘了,这次再记录下. 解决了,记录下,分享给大家,百 ...

  2. java jdom解析xml文件_Java 使用JDOM解析XML文档

    使用JDOM解析XML文档 JDOM是一种使用 XML(标准通用标记语言下的一个子集) 的独特 Java 工具包.下面我们来看一下怎么使用 JDOM来解析XML文档. 首先下载JDOM的jar包,并导 ...

  3. JDom,jdom解析xml文件

    1.要解析的文件模板如下: <?xml version="1.0" encoding="GBK"?> <crsc> <data&g ...

  4. jdom解析xml文件_JDOM编辑XML文件示例

    jdom解析xml文件 JDOM provides very neat way to manipulate XML files, using JDOM is very easy and the cod ...

  5. Java 实现解析xml文件的基本步骤(做笔记)

    今天,初步学习了Java实现解析xml文件的基本步骤.不多说先上图解了. 源代码: public class Dome1 { public static void main(String[] args ...

  6. 【java】jdom解析xml文件

    java中有四种分别解析xml文件.分别是,DOM,SAX,DOM4J,JDOM四种.我第一篇就介绍用Jdom解析XML.本人觉得这四种学习其中一种即可.其余三中解析思想差不了多少.况且这四种介绍优缺 ...

  7. java处理解析xml文件的几种方法及每种方法的区别

    文章目录 了解xml xml文件的结构 **特殊处理** **CDATA** 强烈建议 处理xml文件的几种方式 认识Document对象 解析xml文档 该选择哪种方式解析 DOM解析xml文件 D ...

  8. java jdom 读取xml文件_使用Jdom读取XML文件方法

    使用Jdom读取XML文件方法,学习Spring时,我们经常看到很多xml配置文件,Spring通过在配置文件中的配置,使用IOC(控制反转),从而实现代码的灵活性,本篇我就为大家介绍一种解析xml方 ...

  9. java jdom 读取xml文件_jdom学习:读取xml文件

    本文转自http://www.blogjava.net/fjq639/archive/2005/12/20/24806.html 用JDOM读取XML文件需先用org.jdom.input.SAXBu ...

最新文章

  1. 读博难,大神来支招:DeepMind科学家Sebastian Ruder提出十条实用建议
  2. lighttpd安装及secdownload,fastcgi,proxy配置
  3. python与人工智能编程-python学习(一)——python与人工智能
  4. Python应用实战-Python五个实用的图像处理场景
  5. Spring 整合 aspectj 框架实现的 aop
  6. PostBox使用小记
  7. linux c之gcc -g file.c -o file提示warning: no newline at end of file
  8. C语言 memcpy_s 函数 - C语言零基础入门教程
  9. 记一次Task抛异常,调用线程处理而引发的一些随想
  10. cas与java锁_JAVA之锁-cas
  11. Redis进阶实践之十三 Redis的Redis-trib.rb脚本文件使用详解
  12. dpl直播源_上千个高清无码直播源,爽歪歪!
  13. Intel 82599 ixgbe ixgbevf CNA 卡驱动分析01——SR-IOV
  14. vivado 开发教程(四) 行为仿真
  15. 下载的word excel ppt 文件锁定了,解除操作步骤
  16. mc正版服务器 创世神插件,我的世界创世神插件WorldEdit怎么安装
  17. 百度服务器状态异常,百度抓取异常连接超时是什么意思
  18. 时光轴一之listView实现时光轴效果
  19. 万恶的hello world!
  20. vue实现简单瀑布流布局(vue-waterfall2)

热门文章

  1. 【专题】C#调用动态链接库DLL
  2. SDWebImage显示GIF图片
  3. Elasticsearch 入门 核心概念 数据结构 分词器 javaAPI
  4. vulhub靶机joker渗透
  5. 配置OSPF引入缺省路由
  6. 中低速物联网市场最火的“网红猫”:广和通LTE Cat1模组助物联网企业出奇制胜
  7. 前端jQuery表单验证
  8. “没有名分”的简单工厂模式
  9. SVN版本控制器的使用说明(详细过程)
  10. 仙剑模型的截取以及导入3ds max中