java 解析xml时标签之间有空格

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 解析xml时标签之间有空格相关的知识,希望对你有一定的参考价值。

java 解析xml时标签之间有空格,我将空格替换掉,但是<?xml version="1.0" encoding="UTF-8"?>中的空格也被替换,导致解析出错,带着空格解析出的xml,不是正确的

如果你是用其他工具包解析xml的话标签间的空格是不影响解析的。
如果是自己解析的话不要简单的替换空格,要先检测看看空格是不是在> <之间,在> <的空格删掉就行了。追问

replaceAll("[ ]","");可以直接写正则表达式吗

追答

replaceAll 支持正则的,也可以用正则替换。如果熟悉正则的话用正则更方便。

参考技术A 这是肯定的喽,空格不能随便替换呢。
如果 <root id="1">...</root> ,这root 和 id 之间的空格也不能替换。
所以,如果替换空格,不能简单的使用String.replace函数,需要分析XML元素。
参考技术B 那你就加一个判断,这个是xml头都在第一行,那你从xml第二行开始替换空格不就行了 参考技术C 额 没有遇到过! 空格去掉 会报错啊.....

XML的学习

xml是可扩展的标记语言:xml中的标签都是我们自己定义的,定义的标签都必须闭合<student></student> 或者是<student/>

xml文件第一行必须写<?xml 版本号?>问号和尖括号之间不能有空格不然会导致错误,我们一般用的是<? version=‘1.0‘?>,因为1.1不向下兼容

xml规定好的三个属性:version、encoding、Standalone。其中version是版本号,encoding是规定浏览器解码所用的格式,standalone有两个属性,分别是‘yes‘  和  ‘no‘。yes表示本xml文件依赖别的文件,no表示不依赖

xml的书写和html很像,都采用标签样式<></>,但是xml是区分大小写的,我们书写的时候需要注意,

 

下面说一下xml的两种约束:DTD 和schema

dtd约束比较简单,他没有规定标签里面的内容的数据类型,schema规定了每一个数据的数据类型

 

以上是关于java 解析xml时标签之间有空格的主要内容,如果未能解决你的问题,请参考以下文章

2018/1/1 XML和DOMSAX解析

XML / Java:解析标签和属性时的精确行和字符位置?

XML配置文件怎么写,都有些啥属性?java代码如何解析XML配置文件?

比较流行 java xml解析器有几种 名子是啥?

71 SAX解析XML流程

Java解析XML文件