XML笔记

什么是XML?
xml是可扩展的标记性语言。

xml的作用?
1、用来保存数据,而且这些数据具有自我描述性
2、它还可以作为项目或者模块的配置文件
3、还可以作为网络传输数据的格式(现在以 JSON 为主)

<?xml version="1.0" encoding="utf-8" ?>
<!--
   上面是xml文件的声明
    version:表示xml的版本
	encoding:表示xml文件本身的编码
-->
<books> <!--books表示多个图书信息-->
    <book sn="SN001"> <!--book表示一个图书信息 sn属性表示图书的序列号-->
	    <name>时间简史</name> <!--书名-->
		<author>霍金</author> <!--书的作者-->
	</book>
	
	<book sn="SN002">
	    <name>java书</name>
		<author>lalala</author>
	</book>
</books>

图示

XML命名规则:

1、名称可以包含字母、数字以及其它的字符。
2、名称不能以数字或者标点符号开始
3、名称不能以字符"xml"(或者 XML、Xml)开始(其实可以)
4、名称不能包含空格

XML中的元素(标签)也分成单标签和双标签:
单标签格式:<标签名 属性=“值” 属性=“值”… />
双标签格式:<标签名 属性=“值” 属性=“值”…>文本数据或者子标签</标签名>

XML属性

xml 的标签属性和 html 的标签属性是十分类似的,属性可以提供元素的额外信息。
在标签上可以书写属性:
一个标签上可以书写多个属性,每个属性的值必须用引号括起来,否则会报错

语法规则

  1. 所有 XML 元素都必须有关闭标签(也就是闭合)
  2. XML 标签对大小写敏感
  3. XML必须正确地嵌套
  4. XML文档必须有根元素。根元素是没有父标签的顶级元素,并且只能有唯一一个
  5. XML的属性值须加引号
  6. XML中的特殊字符。比如 > 的特殊字符 &gt; < 的特殊字符 &lt;
  7. 文本区域(CDATA区)。CDATA语法可以告诉 XML 解析器,我 CDATA 里的文本内容,不需要 XML 语法解析。即把输入的文本内容原样显示,不会解析XML
    CDATA 格式:<![CDATA[文本内容]]>
    图示
    图示
    图示
    创建一个lib目录,添加 dom4j 的jar包,然后将其添加到类路径
    图示
    图示
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.List;

public class Dom4jTest {
    public static void main(String[] args) throws DocumentException {
        // 1、读取books.xml文件
        SAXReader reader = new SAXReader();
        Document document = reader.read("xml-test/src/books.xml");

        // 2、通过Document对象获取根元素
        Element rootElement = document.getRootElement();

        // 3、通过根元素获取book标签对象
        List<Element> books = rootElement.elements("book");// element()和elements():通过标签名查找子元素

        // 4、遍历,处理每个book标签转换为Book类
        for(Element book : books){
            System.out.println(book.asXML());// asXML():将标签对象转化为标签字符串

            Element nameElement = book.element("name");
            String nameText = nameElement.getText();// getText():获取标签中的文本内容

            // 直接获取指定标签名的文本内容
            String authorText = book.elementText("author");

            // 获取属性值
            String sn = book.attributeValue("sn");
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,那么在笔记记录app的xml文件中,您可以按照以下步骤添加菜单: 1. 在xml文件中找到菜单根节点,通常是`<menu>`标签。 2. 在菜单根节点下添加菜单项,每个菜单项使用`<item>`标签表示。 3. 在菜单项中设置属性,如菜单项的id、标题、图标等。 4. 如果需要添加子菜单,可以在菜单项下添加子菜单,子菜单也是一个菜单根节点,使用`<menu>`标签表示。 5. 在代码中找到对应的菜单资源并加载,可以使用`MenuInflater`类的`inflate()`方法来加载菜单资源。 下面是一个简单的示例代码,可以让您更好地理解如何在xml文件中添加菜单: ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_new_note" android:title="新建笔记" android:icon="@drawable/ic_new_note" /> <item android:id="@+id/menu_search" android:title="搜索" android:icon="@drawable/ic_search" /> <item android:id="@+id/menu_settings" android:title="设置" android:icon="@drawable/ic_settings"> <menu> <item android:id="@+id/menu_theme" android:title="主题" android:icon="@drawable/ic_theme" /> <item android:id="@+id/menu_font_size" android:title="字体大小" android:icon="@drawable/ic_font_size" /> </menu> </item> </menu> ``` 在代码中加载该菜单资源的示例代码: ```java @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.note_menu, menu); return true; } ``` 注意,这里的`note_menu`是您在xml文件中定义的菜单资源文件名,如果您的菜单资源文件名不同,需要修改为对应的文件名。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静波波呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值