🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
##关于XML #### XML是什么? XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(Markup)是关键部分。您可以创建内容,然后使用限定标记标记它,从而使每个单词、短语或块成为可识别、可分类的信息。您创建的文件,或文档实例由元素(标记)和内容构成。当从打印输出读取或以电子形式处理文档时,元素能够帮助更好地理解文档。元素的描述性越强,文档各部分越容易识别。自从出现标记至今,带有标记的内容就有一个优势,即在计算机系统缺失时,仍然可以通过标记理解打印出来数据。 ***** #### XML的语法 XML的语法非常简单,它是由标记(或称标签)和内容构成的。标记就是一些符号,用来表示特定的格式。而内容则可以是您需要存放的任意内容。 XML的语法很像HTML,XML文件通过不同的**元素(Element)**(或称节点)表示不同的信息,每个元素分别拥有元素名、属性、元素内容等功能。元素以开始标记和结束标记为分隔标志,下面我们结合一段XML代码进行一下分析。 ~~~ <?xml version="1.0" encoding="UTF-8"?> <!-- 注释,不是XML代码 --> <Object Type="1" ID="1001" Text="Hello"> <SubObj Item="11"> 哈哈哈 </SubObj> </Object> ~~~ **首先要明确一点,XML是区分大小写的,这点要非常注意**。 XML的第一行一般为&lt;?xml ... ?&gt;,用于表示XML的信息,它一般包括版本号(version)和编码(encoding)。 &lt;!-- 注释内容 --&gt; XML中使用这种语法结构来表示对文档的注释。注释内容可以包含单行或者多行文本,注释中的内容将不按XML语法解析。 <Object>为开始标记,与之对应的加上结束标记符(/)的标记</Object>则是它的结束标记了,两个标记之间的就是元素的内容。 对于<Object Type="1" ID="1001" Text="Hello">来说,Object就是它的元素名,而Type、ID、Text就是它的属性,而等于号后面被引号包裹起来的部分则是属性对应的值。而因为它的内容里还拥有元素,所以此时Object元素就自动升格为SubObj的父元素,而SubObj则为Object的子元素。 对于SubObj元素来说,它的内容就为文字“哈哈哈”,并拥有一个Item属性 值为11。 在XML的语法中规定,如果一个元素的内容为空则可以简写,如<Obj id="1"></Obj>可以简写为<Obj id="1" />。 XML中的元素、属性的命名应当使用英文,并且避免使用数字和符号。 XML内容或属性值中若需要出现以下字符,应当使用其转义符进行替代,否则可能会导致解析错误。 | 字符 | 转义符 | | -- | -- | | ' | &amp;apos; | | " | &amp;quot; | | & | &amp;amp; | | < | &amp;lt; | | > | &amp;gt; | XML的补充知识可以参考:[W3School 的相关内容](http://www.w3school.com.cn/xml/index.asp)。 ***** ### ExDirectUI为何要用XML进行界面布局? 1. XML的最大好处就是能清晰的声明出元素的父子关系,这和界面布局的结构是一样的。 2. 由于XML的属性自定义性很强,所以可以实现不同种类控件的不同参数的存储。 3. XML可以原生支持多种编码,在界面布局中使用Unicode码可以更好的支持多国语言。 4. XML相比JSON等支持结构化的语言来说,拥有良好的可读性和可维护性。 5. XML可以被Windows原生的DOM对象解析,省去编写布局文件解析模块的很多工作。