XML简介

1.1 XML 简介

定义: eXtensiable Markup Language

a) 可拓展标记语言, 是一种标记语言, 

b) xml是一种非常灵活的语言, 没有固定标签, 所有的标签都是自定义.

c) 通常被用于信息记录和传递. 因此, xml经常被用来作为配置文件.

<?xml version="1.0" encoding="UTF-8"?><!--xml声明版本和编码信息-->
<books>  <!--根元素-->

<!--图书信息-->   <!-注释--->
    <book id="bk101">  <!--属性-->
        <author>王珊</author>
        <title>.NET高级编程</title>
        <description>包含C#框架和网络编程</description>
<!--元素从一开始标签 元素内容和结束标签构成-->


    </book>

</book>

1.2 格式良好的xml

a) 声明信息, 用于描述xml的版本版本和编码方式.

<?xml version="1.0" encoding="UTF-8"?><!--xml声明版本和编码信息-->

b) xml有且仅有一个根元素.

c) xml中, 是大小写敏感的.

d) 标签是成对的, 而且要正确嵌套.

e) 属性值要加双引号

f) 注释写法

<!--注释-->

编辑器

作用

2. DTD

a) DTD, Document Type Definition, 文档类型定义

b) 用于约束xml的文档格式, 保证xml是一个有效的xml

c) DTD可以分为两种, 分别是内部DTD和外部DTD

2.2 使用DTD

a) 内部DTD定义语法如下, 

<!DOCTYPE 根元素 [元素声明]>

b) 元素声明语法:

<ELEMENT 元素名 [, 子元素...]>

c) 数量词

>+ : 表示出现1次或者多次, 至少1次.

>? : 表示出现0次或者1次.

>* : 表示出现任意次.

d) 属性声明语法

>属性类型: CDATA, 表示字符数据(character data)

>默认值:

        - #REQUIRED

        - #IMPILED

e) 带DTD的完整xml代码

<?xml version="1.0" encoding="UTF-8"?>
<!--  声明内部DTD -->
<!DOCTYPE score [
    <!ELEMENT scores (student*)>
    <!ELEMENT student (name, course, score)>
    <!ATTLIST student id CDATA #REQUIRED> <!-- IMPILED-->
    <!ELEMENT name (#PCDATA)>   <!-- 必须匹配 -->
    <!ELEMENT course (#PCDATA)>
    <!ELEMENT score (#PCDATA)>
]>

<scores>
    <student id="1">
        <name>王彤</name>
        <course>java</course>
        <score>89</score>
    </student>

    <student id="2">
        <name>张三</name>
        <course>java</course>
        <score>99</score>
    </student>


</scores>

2.2.2 外部DTD的定义

a) 创建一个外部独立.dtd文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE score [
    <!ELEMENT scores (student*)>
    <!ELEMENT student (name, course, score)>
    <!ATTLIST student id CDATA #REQUIRED> <!-- IMPILED-->
    <!ELEMENT name (#PCDATA)>   
    <!ELEMENT course (#PCDATA)>
    <!ELEMENT score (#PCDATA)>
]>

b) 在xml中引入外部DTD文档

<?xml version="1.0" encoding="UTF-8"?>
<!-- 引入外部DTD文件 -->
<!DOCTPE scores SYSTEM "scores.dtd">

<scores>
    <student id="1">
        <name>王彤</name>
        <course>java</course>
        <score>89</score>
    </student>

    <student id="2">
        <name>张三</name>
        <course>java</course>
        <score>99</score>
    </student>


</scores>

3. xml的解析

对xml文件进行操作, 包括床架 xml, 对xml文件进行操作

3.1.1 DOM 解析

是官方提供的解析方式, 基于xml树.

3.1.2 SAX解析

是民间的的解析方式, 基于时间的的解析.

3.1.3 JDOM解析

第三方提供, 开源的解析方式, 比DOM解析快.

3.1.4 DOM4J   4 for

第三方提供, 开源解析, 是JDOM的升级版, 主流使用.

DOM4J, 先去下载API 导入工程, 然后使用它.一般有两种操作, 创建xml或者操作xml, 配合java使用.包括和数据库配合使用, 在本地存储数据.

原理就是, 把xml文件转化成对象进行处理.

此外, xml和html并无差别, html其实就是已经被限制了元素类型和元素属性的xml.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Android Studio中创建微信的四个按钮,可以按照以下步骤进行操作: 1. 首先,根据引用\[1\]和引用\[2\]的描述,我们需要创建七个XML文件。其中,三个XML文件用于实现微信界面的上部、中部和底部显示,另外四个XML文件用于实现微信、朋友、通讯录和设置四个界面的显示。 2. 创建上部显示的XML文件,可以命名为top.xml,其中包含对应的标题显示。 3. 创建中部显示的XML文件,可以命名为middle.xml,其中包含对应页面功能简介的显示。 4. 创建底部按钮的XML文件,可以命名为bottom.xml,其中包含四个微信按钮的显示。 5. 在activity_main.xml文件中引入这些XML文件。可以使用LinearLayout作为根布局,设置垂直方向的布局。在LinearLayout中添加ViewPager2控件,用于显示中间部分的不同界面。同时,使用include标签引入bottom.xml文件,用于显示底部的四个按钮。 6. 最后,根据引用\[3\]中的配置,可以在MainActivity中设置布局文件为activity_main.xml。 通过以上步骤,就可以在Android Studio中创建微信的四个按钮。 #### 引用[.reference_title] - *1* [Android Studio类微信页面设计](https://blog.csdn.net/zhoulingziCSDN/article/details/109564158)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Android studio实现类微信界面](https://blog.csdn.net/qq_52895332/article/details/127125710)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值