xml文件头(Android报错 Content is not allowed in prolog)
本文目录
- Android报错 Content is not allowed in prolog
- C#怎么去掉XML的文档头
- 关于如何去除dom生成的xml文件头的standalone=“no
- spring的xml配置文件的xml文件头详解
- 详解 xml 文件头部的 xmlns:xsi
- 在eclipse中,xml文件的文件头中的链接是灰色的,怎么解决
- 文件头的常见文件的文件头
- 解决idea中xml头文件http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd标红
Android报错 Content is not allowed in prolog
Android项目在调试的过程中编译报错
问题出现的莫名其妙,解决的也很莫名其妙
根据提示可能是XML文件头部的 《?xml version="1.0" encoding="utf-8"?》 出问题了,但是错误日志中没有给出具体的出错文件,所以把目前过的几个XML文件都检查了一下,头部的 《?xml version="1.0" encoding="utf-8"?》 都没有问题,没有什么特殊字符,没有不该出现的空格,也没有从其他的器复制过。
根据一个类似案例的做法,试着把 navigation 里的XML文件都移动到另一个随便新建的文件夹中,将原来的 navigation 文件夹删除,正好发现其中一个XML文件最先报红,该文件是这样的
很奇怪,该文件不是新过的文件,是之前已经测试没问题提交过的,只能先修改后试一下,修改为:
然后将新建的文件夹又改回正确的名字 navigation ,否则XML文件无法识别 navigation相关标签。
重新编译运行,嗯,竟然成功了(虽然中间还报了个其他异常,但是Clean + Rebuild 之后重新运行就好了)
就是莫名其妙,我又把那个出问题的XML文件的又改回去,就是这个样子
试了下竟然也顺利编译运行成功了
好吧,感觉这个问题好像是解决了,又好像没解决
C#怎么去掉XML的文档头
System.Xml.XmlDocument d = new System.Xml.XmlDocument();d.Load(@"C:\Inetpub\wwwroot\1.xml");System.Xml.XmlDocument d2 = new System.Xml.XmlDocument();d2.LoadXml(d.DocumentElement.OuterXml);d2.Save(@"C:\Inetpub\wwwroot\2.xml");
关于如何去除dom生成的xml文件头的standalone=“no
一般你生成xml文件的时候,肯定需要在代码中这样操作: //将生成的xml文件保存在"F:/text.xml"文件中 FileWriter fw = new FileWriter("F:/text.xml"); 你肯定是缺少有效路径。 代码总汇一下: //将生成的xml文件保存在"F:/text.xml"文件中 FileWriter fw = new FileWriter("F:/text.xml"); fw.write(document.asXML()); fw.flush(); fw.close();
spring的xml配置文件的xml文件头详解
在spring的xml配置文件中,在头部会出现如下的东西
这些奇怪的xmlns和很长的url的作用是什么呢?
首先,介绍一下 xmlns 的作用,如下所示,一个 xml 文档中如果包含如下两种定义不同, 但是名称相同的元素, xml 解析器是无法解析的, 因为它不能确定当你调用document.getElementsByTagName("book") 时应该返回哪个元素。
这时候可以通过在名称增加前缀解决这个问题
由此,引入一个概念 命名空间 ,通过增加前缀表示不同的那是不同命名空间下的table,从而解决了矛盾,但是不同的人都有自己创建的不同的命名空间来描述同样的东西,不利于xml文件信息的解析,比如说,同样都是水果,可以从颜色和香味不同角度来定义成如下两种形式:
为此,w3c(万维网联盟)对于一些类型,定义了对应的命名空间和这些类型的标准,xml解释器碰到这些类型的时候就会通过这些标准去解析这类型的标签,为了确保命名空间的唯一,所以不同的命名空间的通常使用URL作为被识别的id,如下例子:
这句话的作用是当前引入了一个叫做xsi的命名空间,xsi可以在接下来要使用该命名空间时所使用的,如下:
***隐藏网址*** 唯一性 的作用,网址有时可以被打开,上面会有关于该命名空间的信息。
所以,spring配置文件中这三句话分别表示,引入了三个命名空间。 其中第一个xmlns后面没有空间名的,表示引入了一个默认的名称空间,下文中不使用命名空间前缀的都默认使用这个命名空间,这个默认的命名空间,其真正的id是***隐藏网址*** 。 引入的第二个命名空间叫做xsi,其真正的id是***隐藏网址*** 引入的第三个命名空间叫做context,其真正的id是***隐藏网址***
在最后可以看到xsi:schemaLocation,这句话的意思表示使用命名空间xsi下的schemaLocatioin,设置了它对应的值为后面很多很多的URL,schemaLocation中存储的值每两个为一组, 第一个代表命名空间,第二个代表该命名空间的标准的文件位置 ,如下所示,这句话就是说明命名空间***隐藏网址******隐藏网址***
因为xml解释器不一定含有所有命名空间的标准,通过这样设置就可以告诉xml解释器不同命名空间的对应的标准是什么了,而这也是xsi这个命名空间的作用,要用到其schemaLocation。
最后,对应一般的xml解释器的工作流程中,xml解释器识别到有***隐藏网址*** 这个通用的名称空间后,明白知道要引入一些不同命名空间,就会从其schemaLocation中获取不同命名空间和其对应的标准。
详解 xml 文件头部的 xmlns:xsi
原文在此,写的比较通俗易懂,特转发一下,向原作者致敬~***隐藏网址***
一套Xml中元素的定义规范;
指定xml文档中元素所隶属的命名空间;
一个XSD的实例,就好比new了一个object 出来;
上面这行的语法其实是, xsi:schemaLocation = "键" “值”,用来说明XSD的命名空间和定义文件;
初学者看到如上的内容应当有如下困惑点:
一个 xml 文档中如果包含如下两种定义不同, 但是名称相同的元素, xml 解析器是无法解析的, 因为它不能确定当你调用 document.getElementsByTagName("book") 时应该返回哪个元素。
显然, 如果给他们的名字添加一个前缀, 则命名冲突的问题就可以解决。
但是, 在一个拥有众多元素的文档中, 仅仅拥有前缀, 也不能完全避免命名冲突的问题。
此时, 命名空间就诞生了, 我们可以为元素定义一个命名空间, 将一个很长的, 可以保证 全局唯一性的字符串 与该元素关联起来。这样就可以避免命名冲突了。
但是如何保证那个较长的字符串全局唯一呢, 最好的方式莫过于使用 统一资源标识符(Uniform Resource Identifier,URI) 了, 而我们最常见的 URI 就是平时经常访问的网址 URL 了。
应用到我们所举的例子中就是:
***隐藏网址***
细心的童鞋会注意到, project 元素前面并没有前缀。 这里实际上使用的是 默认命名空间(default naming space) 。 它的语法如下:
例如我们的 project 元素定义 和下面的例子
使用默认命名空间的作用是, 该元素内部的子元素都会默认属于该命名空间下, 我们不需要为他们一一添加命名空间前缀。
现在来看文件头中剩下的, 看上去更为复杂的部分。
***隐藏网址***
那么, 有了上述的理解, 再来看
上面这行的语法其实是, xsi:schemaLocation = "键" “值” 即 xsi 命名空间下 schemaLocation 元素的值为一个由空格分开的键值对。
在eclipse中,xml文件的文件头中的链接是灰色的,怎么解决
xml打开方式,preference---》general—》editors--》file associatons
文件头的常见文件的文件头
1、JPEG (jpg),文件头:FFD8FFE0或FFD8FFE1或FFD8FFE8。
2、GIF (gif),文件头:47494638PNG (png),文件头:89504E47。
3、TIFF (tif),文件头:49492A00。
4、Windows Bitmap (bmp),文件头:424DC001。
5、CAD (dwg),文件头:41433130。
6、Adobe Photoshop (psd),文件头:38425053。
7、Rich Text Format (rtf),文件头:7B5C727466。
8、XML (xml),文件头:3C3F786D6C。
9、HTML (html),文件头:68746D6C3E10。
10、Email (eml),文件头:44656C69766572792D646174653A。
11、Real Audio (ram),文件头:2E7261FD。
12、Real Media (rm),文件头:2E524D46。
13、MPEG (mpg),文件头:000001BA。
14、MPEG (mpg),文件头:000001B3。
15、Quicktime (mov),文件头:6D6F6F76。
16、Windows Media (asf),文件头:3026B2758E66CF11
解决idea中xml头文件http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd标红
原因:pom文件未导入相关依赖 解决步骤1:pom文件引入依赖并即可 步骤2:添加完依赖后此时xml头文件飘红左边有红色小灯泡,点击Fetch external resource即可解决
更多文章:
掌阅是否应该取消支持微信阅读?掌阅ireader能看mobi吗
2024年9月4日 06:21
店铺管理软件哪个好(我是淘宝店家,有什么便宜,好用的ERP管理软件)
2024年6月5日 11:19
eclipse安装教程win10(java eclipse怎么安装)
2024年6月23日 08:49
微信自动抢红包软件 免费(微信怎么设置自动抢红包 微信能不能自动抢红包)
2024年6月28日 07:30
墨迹天气预报(墨迹天气好用吗跟天气预报APP相比有什么区别)
2024年7月6日 15:55
格式转换器下载免费版mp4(想下载一个免费MP4格式转换器,谁能提供一个)
2024年6月27日 10:53
卫星定位系统下载(如何把GPS卫星手机定位系统下载到自己手机上使用)
2024年6月8日 00:50