xml的语法

<!--
    1、每一个xml,有且只有一个根标签,所有xml标签必须写在根标签中
    2、标签必须要有合闭
    3、xml格式是否正确,可以通过浏览器打开xml。来校验xml格式是否正确
    4、xml是区别大小写的
    5、xml书写标签名时,不要出现空格等特殊字符
    6、标签命名时不要以数字开头
    7、在书写标签中时不要乱嵌套或相互嵌套  <name><age></name></age>
-->

特性:

    1、具有平台无关性,是一门独立的标记语言。

          a:系统无关性,不管是在Windows电脑上,还是苹果电脑上,解析出来的效果都是一样的

          b:语言无关性,不管用java还是c或者是其他语言进行解析,显示出来的效果都是一样的。

    2、具有自我描述性。

XML语法格式

      1、xml文档声明

             <?xml version="1.0" encoding="UTF-8"?>

       2、标记(元素/标签/节点)

              xml文档,是由一个个标记组成

             语法:开始标记:<标记名称>

                         结束标记:</标记名称>

3.一个xml文档里面,有且仅有一个根标记

4.标记名称是允许重复

 <persons>
   <person>
       <name> 李四 </name>
       <length>180cm</length>
   </person>
   <person>
       <name> 李四 </name>
       <length>200cm</length>
    </person>
 </persons>

5.标记除了开始和结束,还有属性,在标记开始时描述,由属性名和属性值组成。

               格式:可以包含0-n个属性,每一个属性都是一个键值对!

                           属性值必须要用引号引住。

6.注释

            注释不能写在文档声明前

            注释不能嵌套注释

                      格式:

                               注释开始:<!--

                               注释结束:-->

XML基本语法

xml: 可扩展的标记语言

1.文档声明

XML文件的后缀为.xml;

XML文本要求文件有一个头部声明(用来告诉解析器一些相关信息);

<?xml version="1.0" encoding="UTF-8"?>

头部声明是给解析器看的,表明当前文件是xml文件,XML版本为1.0,文件内容使用的字符编码为UTF-8。

注意:要小心在系统中这个xml文件保存时候的编码,是否和文件内容中设置的编码一致;

头部声明可以省略,如果不写,会默认加上<?xml version="1.0"?>。

注意:

XML语法很严格,只要有问题,浏览器就无法正常显示;

如果文件的保存格式不对,无法显示;

如果文件格式上有任何问题,也无法显示。

元素命名规则

一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:

a. 区分大小写,例如,<P>和<p>是两个不同的标记。

b. 不能以数字开头.

c. 不能包含空格。

注意,XML语法十分严格,以上提到的点,任何一点出问题都不能在浏览器中正常显示。

3.属性

属性出现在 起始标签内部,和标签名用空格隔开。

它的基本格式为:

<元素名 属性名1="属性值" 属性名2="属性值" ...>

注意:

a. 一个元素可以有多个属性;

b. 属性值用双引号(")或单引号(')括起来;

c. 特定的属性名称在同一个元素标记中只能出现一次;

b. 属性值不能包括<, >, &等特殊字符。

例如:

<student id="100">

<name>TOM</name>

</student>

4.实体 ENTITY

xml文件中有些特殊的字符是不能直接表示出来的,例如:大于号,小于号,单引号、双引号等等,为了表示它们,我们可以借助实体完成。

实体可以分为两类:预定义实体、自定义实体。

a.预定义字符实体,由XML规范预先定义好了

&lt; <

&gt; >

&amp; &

&quot; "

&apos; '

注意:使用实体的格式是 &实体名字;

b.自定义实体 ENTITY

定义格式:

<!DOCTYPE 根元素名称[ //其他字符串也可以,并不必须是根元素名称

<!ENTITY 实体名1 "实体内容">

<!ENTITY 实体名2 "实体内容">

...

]>

eg:

<!DOCTYPE courses[

<!ENTITY company "昆山杰普软件科技有限公司">

]>

其中:company为实体名称;

  "昆山杰普软件科技有限公司"是实体内容;

实体的使用  &company;

4.注释

<!-- 这是一个注释 -->

注意:

a. 注释内容中不要出现--;

b. 不要把注释放在标记内部;

<Name <!-- the name -->>TOM</Name> 是不合适的

c. 注释不能嵌套;

d. 可以在除标记以外的任何地方放注释;

 命名规则

在XML中,可以使用自己需要的元素来扩展标记语言。

命名基本规则:

  • 元素名称不能以数字或特殊字符开头
  • 可以包含字母,数字,下划线等
  • 不能以字符串“XML”作为开头
  • 不能包含空格
  • 尽量不要包含特殊字符
  • 区分大小写

在 XML 中,空格会被保留

HTML 会把多个连续的空格字符裁减(合并)为一个:

HTML:
Hello           Tove
输出结果:Hello Tove

在 XML 中,文档中的空格不会被删减。

XML语法-属性

<student id="100">
    <name>Tom</name>
</student>

(1)属性值用双引号 " 或单引号 ' 分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。那么如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符,类似于html中的空格符),XML 有 5 个预定义的实体字符,如下:

(2)一个元素可以有多个属性,它的基本格式为:

<元素名 属性名1="属性值1" 属性名2="属性值2">

(3)特定的属性名称在同一个元素标记中只能出现一次

(4)属性值不能包括 <,>,&,如果一定要包含,也要使用实体

XML 命名规则

XML 元素必须遵循以下命名规则:

  • 名称可以包含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字母 xml(或者 XML、Xml 等等)开始
  • 名称不能包含空格

可使用任何名称,没有保留的字词。


最佳命名习惯

使名称具有描述性。使用下划线的名称也很不错:<first_name>、<last_name>。

名称应简短和简单,比如:<book_title>,而不是:<the_title_of_the_book>。

避免 "-" 字符。如果您按照这样的方式进行命名:"first-name",一些软件会认为您想要从 first 里边减去 name。

避免 "." 字符。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性。

避免 ":" 字符。冒号会被转换为命名空间来使用(稍后介绍)。

XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素。有一个实用的经验,即使用数据库的命名规则来命名 XML 文档中的元素。

在 XML 中,éòá 等非英语字母是完全合法的,不过需要留意,您的软件供应商不支持这些字符时可能出现的问题。


XML 元素是可扩展的

XML 元素是可扩展,以携带更多的信息。

请看下面的 XML 实例:

<note> <to>Tove</to> <from>Jani</from> <body>Don't forget me this weekend!</body> </note>

让我们设想一下,我们创建了一个应用程序,可将 <to>、<from> 以及 <body> 元素从 XML 文档中提取出来,并产生以下的输出:

MESSAGE

To: Tove
From: Jani

Don't forget me this weekend!

想象一下,XML 文档的作者添加的一些额外信息:

<note> <date>2008-01-10</date> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

那么这个应用程序会中断或崩溃吗?

不会。这个应用程序仍然可以找到 XML 文档中的 <to>、<from> 以及 <body> 元素,并产生同样的输出。

XML 的优势之一,就是可以在不中断应用程序的情况下进行扩展。

空元素 (empty element)

空元素

空元素在 XML 文档中可以有两种格式:

- <element/>
- <element></element>

如果一个 XML 元素没有内容,比如,<site></site> 我们称其为空元素 (empty element)。

空元素有一种特殊的写法,以 < 开始,然后是元素名称,然后以 /> 结束。比如,<site /> 。

xml 中的元素(标签)也 分成 单标签和双标签:

单标签

格式: <标签名 属性=”值” 属性=”值” ...... />

双标签

格式:< 标签名 属性=”值” 属性=”值” ......>文本数据或子标签</标签名>

单标签和双标签(重点)

单标签是由一个标签组成,用/>结尾,是一种简写。

双标签由开始标签和结束标签组成;双标签可以替换所有的单标签

xml的标签分为两种 单标签 和双标签 在xml中要求所有的标签必须闭合

单标签的格式:<标签/>  双标签:<标签> </标签>


  双标签在内部添加元素:

<book id="SN15151545454">
    <author>作者</author>
    <name>安徒生的童话</name>
    <price>939</price>
</book>


  单标签整合为一条XML标签:

<book id="SN15151545454" name = "安徒生童话"/>

SAP中st程序xml语法

<?sap.transform simple?>

<tt:transform xmlns:tt="http://www.sap.com/transformation-templates">

  <tt:root name="ROOT"/>

  <tt:template>

    <tab1>

      <tt:loop name="line" ref=".ROOT">

        <key>

          <tt:value ref="$line.key"/>

        </key>

        <tab2>

          <tt:loop ref="$line.values">

            <value>

              <tt:value ref="value"/>

            </value>

          </tt:loop>

        </tab2>

      </tt:loop>

    </tab1>

  </tt:template>

</tt:transform>

xml中的双层结构

ABAP XML转化之ST语法总结_abap transformation-CSDN博客文章浏览阅读1.8k次。Simple Transformations简介ST语言是一种描述ABAP 和XML之间格式转换的编程语言,用于ABAP数据的序列化(ABAP->XML)和反序列化(XML->ABAP)。ST程序可以通过转换编辑器进行编辑(TCODE: STRANS),优点:ST程序很容易阅读;串行访问XML数据,因此即使数据量很大,也非常高效;ST程序同时描述序列化和反序列化,即用XML序列化的ABAP数据也可以用ST程序反序列化;仅限于基本和结构化ABAP数据以及内部表的转换。创建一个..._abap transformationhttps://blog.csdn.net/yiyuzz/article/details/106850900

ABAP内表与XML格式互转_abap xml转内表_ᝰ随心ꦿེএ的博客-CSDN博客文章浏览阅读131次。在系统交互中需要将SAP内表转换为XML文件,发送给其他系统,并且将其他系统返回的XML文件转换为SAP内表。此处的TYPE类型是SE11中创建的表类型。将内表转换为XML,并将返回的二进制字符串转为XML字符串。结构为嵌套结构,其中包含详细信息的表类型。在源代码中将会看到如下信息。其中包含两个详细信息字段。事务代码:STRANS。3.1内表与XML转换。插入行后整个结构如下。_abap xml转内表https://blog.csdn.net/reagon2008/article/details/132322107


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值