精华内容
下载资源
问答
  • 解决用windows自带的记事编辑xml文件后出现 "XML Parser Error on line 1: 前言中不允许有内容。"的错误
  • 前言:“与其每天担心未来,不如努力现在。别对自己丧失信心,成长的路上,只有奋斗才能给你最大的安全感。”你好,我是梦阳辰!下面和我一起学习XML吧!01.XML概述1.什么是XMLXML (eXtensible Markup Language)指...

    前言:“与其每天担心未来,不如努力现在。别对自己丧失信心,成长的路上,只有奋斗才能给你最大的安全感。”
    你好,我是梦阳辰!下面和我一起学习XML吧!

    3f2f6d748541f2901f75aded55249797.png

    01.XML概述

    1.什么是XML?
    XML (eXtensible Markup Language)指可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。

    XML 指可扩展标记语言(EXtensible Markup Language)
    XML 是一种标记语言,很类似 HTML
    XML 的设计宗旨是传输数据,而非显示数据
    XML 标签没有被预定义。您需要自行定义标签。
    XML 被设计为具有自我描述性。
    XML 是 W3C 的推荐标准

    xml是一种非常灵活的语言,没有固定的标签,所有的标签都可以自定义。

    2.XML的用途?
    通常,xml被用于信息的记录和传递,因此xml经常被用于充当配置文件。

    3.XML 仅仅是纯文本
    XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。

    不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。

    4.xml的格式

    a34a34bf327ac131b58ab1c91005159e.png

    //1.声明信息,用户描述xml的版本和编码方式 <?xml version="1.0" encoding="UTF-8?> //2.根元素,有且仅有一个根元素 //3.xml大小写敏感 //4.标签成对,需要正确嵌套 //5.属性只要使用双引号 <book id="fa"> //注释的语法跟HTML相同

    5.XML 不会替代 HTML,理解这一点很重要。在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。
    XML 无所不在。XML 是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行。
    对 XML 最好的描述是:

    XML 是独立于软件和硬件的信息传输工具。

    6.XML 没有预定义的标签

    在 HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如 < p > 、< h1 > 等等)。

    XML 允许创作者定义自己的标签和自己的文档结构。

    练习:

    <?xml version="1.0" encoding="UTF-8"?> <scores> <student id="1"> <name>MengYangChen</name> <course>xml</course> <score>99</score> </student> <name>XingKong</name> <course>xml</course> <score>99.9</score> <student id="2"> </student> </scores>

    8.有效的XML文档
    7.1 首先必须是格式良好的。
    7.2 使用DTD和XSD(XML Schema)定义约束。

    0d52029cebfb51c91b26e030bc412d41.png

    02.DTD

    1.什么是DTD?
    文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。

    DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。
    DTD(Document Type Defination )文档类型定义。
    DTD用于约束xml的文档格式,保证xml是一个有效的xml。
    2.DTD可以分为两种,内部DTD,外部DTD。

    2.内部DTD的定义
    假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:
    <!DOCTYPE 根元素 [元素声明]>

    数量词
    +: 表示出现1次或多次,至少一次。

    ?:表示出现0次或1次。

    *: 表示出现任意次。

    2.1.元素声明语法
    <!ELEMENT 元素名称 (元素内容)>

    2.2.属性声明语法
    属性类型:CDATA,表示字符数据(character data)
    默认值:REQUIRED 属性值是必需的
    #IMPLIED 属性不是必需的
    #FIXED value 属性值是固定的
    <!ATTLIST 元素名称 属性名称 属性类型 默认值> 如:<!ATTLIST payment type CDATA "check">

    <?xml version="1.0" encoding="UTF-8"?> <!--声明内部DTD--> <!DOCTYPE scores[ <!ELEMENT scores (student)> <!ELEMENT stuent(name,course,score)> <!ATTLIST stuent id CDATA #IMPLIED> <!ELEMENT name (#PCDATA)> ]> <scores> <student id="1"> <name>MengYangChen</name> <course>xml</course> <score>99</score> </student> <name>XingKong</name> <course>xml</course> <score>99.9</score> <student id="2"> </student> </scores>

    2.3 外部定义DTD
    在xml中引入外部的DTD文件。
    <!DOCTYPE scores SYSTEM "scores.dtd">

    关于XSD
    XML Schema是DTD的替代者。
    不仅可以定义XML文档的结构,还可以规范文档的内容。

    03.XML的解析

    对xml文件进行操作,包括创建xml,对xml文件进行增删改查操作。

    3.1 常见的xml解析技术

    DOM解析
    官方提供的解析方式(sun)
    基于xml树解析。

    SAX解析
    是民间解析方式,基于事件的解析
    适用于数据量较大的XML.

    JDOM解析
    开放源码,比DOM更快,使用类

    DOM4J解析
    第三方,开源免费,是JDOM的升级版,使用接口

    3.2 DOM4J解析xml
    解析xml的入口,是需要先拿到一个Document对象。读取xml文件
    1.导入dom4j.jar包
    2.编写程序

    400472b7339c3d116934bc5474d035f8.png

    5a71e408213283a000de74b828d4a107.png

    dom4j创建xml

    1.通过DocumentHelper生成一个Document对象。
    Document doc =DocumentHelper.createDocument();

    2.添加根元素
    Element root = doc.addElement(“books”);

    3.为根元素添加子元素
    Element book =root.addElement(“book”);

    4.为book元素添加属性(可以链式编程)
    book.addAttribute(“id”,“bo1”);

    5.为book添加子元素
    Element name book.addElement=book.addElement(“name”);

    6.为子元素添加文本
    name.addText(“Think in Java”);

    7.将doc输出到xml文件中即可
    Writer writer = new FileWriter(new File(“src/book.xml”);
    doc.write(writer);

    或者用格式良好的输出(缩进)
    OutputFormat format =OutputFormat.createPrettyPrint();

    XMLWriter writer = new XMLWriter(new FileWriter(new File(“src/book.xml”);8.关闭资源
    writer.close();

    我是梦阳辰,期待下次与你相遇!

    关注公众号【轻松玩编程】回复关键字“电子书”,“计算机资源”,“Java从入门到进阶”,”JavaScript教程“,“算法”,“Python学习资源”,“人工智能”等即可获取学习资源。

    a649667a9d30859792ed5889d399cc35.png
    展开全文
  • idea 2019.2.3进行web项目build的时候会报build.xml前言中不允许有内容的解决方法: 先检查文件的build.xml的编码格式,一般是调整过文件内容导致与系统编码格式一致的。 将文件用notepad++打开然后修改为使用...

    idea 2019.2.3进行web项目build的时候会报build.xml前言中不允许有内容的解决方法:

    1. 先检查文件中的build.xml的编码格式,一般是调整过文件内容导致与系统编码格式不一致的。
    2. 将文件用notepad++打开然后修改为使用UTF-8 BOM进行编码即可解决。

    idea中编码统一设置:
    在这里插入图片描述

    展开全文
  • 前言中不允许有内容的问题 跟着网上的教程整合了一遍spring和mybatis,核心内容与教程的内容一模一样(前后对了几遍)但是使用单元测试的时候总是出现上述的问题。 总体就是说解析xml文件的时候出现错误 文...

    idea下整合spring-mybatis出现 Cause: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 55; 前言中不允许有内容的问题

    跟着网上的教程整合了一遍spring和mybatis,核心内容与教程的内容一模一样(前后对了几遍)但是使用单元测试的时候总是出现上述的问题。
    在这里插入图片描述总体就是说解析xml文件的时候出现错误

    文件的编码格式问题

    在网上找了一些解决前言中不允许有内容的一些方法,
    例如查看文件的编码格式,另存为无BOM的utf-8编码格式,
    为此我还专门下了一个Notepad++,一看发现我的appicationContext.xml的文件格式没有错
    

    web.xml读取spring 的配置文件

    网上还有一种解决方法就是使用web.xml来读取spring的配置文件

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
             version="3.1">
    <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:appicationContext.xml</param-value>
        </context-param>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
    </web-app>
    
    但是这个还不是解决的问题,还是出现了错误
    

    最后检查每一个相关的文件,重头到尾的检查了一遍,还是没有发现问题,然后我再看抛出的错误信息,发现了下面这个

    'file [D:\java web\IntelliJ IDEA 2017.3.2\spacework\ssm\out\production\ssm\com\java\mapper\UserMapper.xml]';
    
    

    看了一遍UserMapper.xml文件后发现文件上面多了一个字母
    在这里插入图片描述
    就是因为多了这个s,才导致上面的问题

    最后正常的输出结果:

    log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    User{id=1, username='王五', birthday=null, sex='2', address='null'}
    
    Process finished with exit code 0
    

    这个事情让我明白了真的不能粗心大意,一个小字母浪费了我大半天的时间

    
    
    展开全文
  • 首先提一点,这类型的错误我主要在两个方面遇到 1、确实XML文件格式问题 ...在例如springframework的XmlBeanDefinitionStoreException,该异常一个是xml配置文件问题,还有就是根本没写ClassPa...

    首先提一点,这类型的错误我主要在两个方面遇到

    1、确实XML文件格式有问题

    格式错误大多会有IDE提示,但例如“”中的路径这种就无法被IDE检查到,要注意是不是哪里多了个空格逗号一类的。

    2、没有引入XML文件或者引入错误

    在例如springframework中的XmlBeanDefinitionStoreException,该异常一个是xml配置文件有问题,还有就是根本没写ClassPath:后面的内容,他不会直接报没找到,而是报执行后的异常,一报就是一堆。

    错误示例

    学习springmvc原理时,下面的做法只在学习原理时这样写

    <!--DispatcherServlet要绑定Spring的配置文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc-servlet.xml</param-value>
        </init-param>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    接着我们将 <param-value>classpath:后面的文件名删除。

    很容易就得到了一个异常

    org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 1 in XML document from class path resource [] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。

    为什么没有报没找到呢?因为人家在设计框架时认为你不会犯这种萌萌错误SAXParseException这个异常我们可以分析一下,SAX(simple API for XML)是一种XML解析的替代方法,他是逐行进行的。sax中在文档的开始和结束时会触发文档处理事件。SAX解析异常,spring告诉你是xml方面出了问题看起来也挺人性化,呵呵o(* ̄︶ ̄*)o。

    后记:UTF-8 BOM或者UTF-8 这种格式问题在新版IDE中一般不会出现。

    BOM的首行你可以自行研究一下,DOM(文档对象模型)是W3C标准。

    你可以尝试下面的办法

    用notepad++打开,编码=>转为utf-8

    展开全文
  • idea读取XML文件时,总报“前言中不允许有内容”错误。经检查,XML文件格式、内容没有错误。 而且这几个xml文件都是今天才生成的,查了一下是因为编码格式的问题, 在idea文件找到该文件,右键点击show ...
  • 用记事本打开xml文件转化为UTF-8会一个BOM头,所以java在读取时就会报以上错误。  解决方法:  用notepad++打开,在格式选择“以UTF-8无BOM格式编码”,然后保存, 就可以了。也可以使用EmEditor另存,保存时选择...
  • 使用工具将xml文件转换后,再尝试读取内容 import java.io.*; import java.util.ArrayList; import java.util.List; /** * utf-8bom 批量转为 utf-8无bom 文件格式 */ public class UTF8TOBOM extends Reader ...
  • 读取XML文件时,总报“前言中不允许有内容”错误-分析 Content is not allowed in prolog
  •  Error on line 1 of document : 前言中不允许有内容。 Nested exception: 前言中不允许有内容。 有点懵逼。。。。。 直觉是xml文件问题,因为之前是可以正常读取的! 后来发现果然是xml文件问题,xml文件的...
  • 解析xml时,报“前言中不允许有内容”,一般是因为文件编码问题造成的。 修改文件编码为“UTF-8 无BOM格式编码"解决
  • 出现这个问题 一般是编码问题,找到setting file encoding ,修改create utf-8 files:with no BOM ,然后删除.idea文件,重新build
  • 知道Android studio哪里出毛病,新建Empty Activity项目给我报color.xml:1:1:前言中不允许有内容这个错,而且MainActivity里R冒红,说can’t resolve,,在网上百度半天R冒红的解决办法,并没什么卵用,气死老夫...
  • IDEA报错:前言中不允许有内容

    千次阅读 2020-08-23 16:36:21
    问题:IDEA报错:前言中不允许有内容? Error:Failed to load project configuration: cannot parse file xxx.xml:paeseError at [row,col]:[1,1] Message: 前言中不允许有内容。 报错原因:xml文件为带BOM头...
  • 我在使用jstl标签读取XML文件时,总报“前言中不允许有内容”错误。经检查,XML文件格式、内容没有错误。后来百度了一下,才发现是文件编码问题。  用记事本打开xml文件转化为UTF-8会一个BOM头,所以java在...
  • SAXParseException 前言中不允许有内容

    千次阅读 2020-04-27 15:31:07
    项目使用cml作为工作流配置文件,今天运行时一直报以下异常,折腾一番后总结为:读取文件异常,文件格式符合要求或者文件编码符合要求,检查一下读取的文件,如果没有问题的话,检查以下应用程序是否读取了...
  • 检查一下mybatis的全局配置文件的 mappers 的 路径是不是错了,错了会报这种错误。
  • 前言】 不管是桌面软件开发,还是WEB应用,XML无处不在! 然而在平时的工作,仅仅是使用一些已经封装好的类对XML对于处理,包括生成,解析等。假期有空,于是将PHP的几种XML解析方法总结如下: 以解析Google ...
  • 我使用了org.dom4j的解析方法,在运行时发现报错:前言中不允许有内容。百度后得知是因为文件带bom头,解析的时候就会报错,需要去掉bom头。结果网上的方法让人啼笑皆非,用EditPuls来转换成无bom编码。我就纳闷了,...
  • 解决方法: 在JMeter的bin目录找到jmeter.properties; 将文件#jmeter.save.saveservice.output_format=csv 改为jmeter.save.saveservice.output_format=xml
  • Jmeter+Ant执行build.xml报错:前言中不允许有内容;jmeter properties里的jmeter.save.saveservice.output_format修改为xml了,前面的注释也去掉了。还是报错,究竟是怎么回事呢? `
  • 此问题为编码格式问题,可以用Notepad++打开: 编码带BOM,将编码改为UTF-8并保存:
  • Error:Failed to load project configuration: cannot parse file D:\IDEA\mis-center-soa.idea\...Message: 前言中不允许有内容。 当你工具出现这样问题的时候不要怕,一般是编码问题 设置编码with NO BOM,如果文...
  • 在你当前的工作空间直接删除 .idea 文件夹,然后重新建立工作空间即可解决
  • 看日志:Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,1] Message: 前言中不允许有内容。at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next...
  • 今天用nybatis逆向工程时候总是包XML Parser Error on line 1: 前言中不允许有内容。错误 但是配置文件没有错误, 原来是编码错误了 我用记事本打开编码变成了utf-8 bom了 改为utf-8即可 或者用notepad++...
  • 1、错误描述 Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\Administrator>d: ...D:\build.xml:2: 前言中不允许有内容。 Total time: 0
  • Could not clean server of obsolete files: 前言中不允许有内容前言中不允许有

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,972
精华内容 11,188
关键字:

xml前言中不允许有内容