xml文件的创建及解析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

XML(可扩展标记语言)是一种非常常用的标记语言,用于表示结构化数据。XML以纯文本的形式来表示数据,它具有良好的可扩展性和可读性,被广泛应用于数据交换和信息共享领域


一、为什么要创建并引入以dtd结尾命名的文件

可以约束XML文件中可以包含哪些元素、哪些属性、及元素个数和元素之间的关系和元素的顺序。

在包含DTD的XML文件中,如果XML内容不满足DTD要求,会提示错误。简单的来说就是方便书写XML文件

二、创建步骤

1.创建dtd文档

代码如下(示例):

<!ELEMENT phones (phone*)>
<!ELEMENT phone (name,money)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT money (#PCDATA)>
<!ATTLIST phone id CDATA #REQUIRED>
-- ELEMENT 元素
-- ATTLIST 属性 加属性要确定所加属性的元素
-- (phone) 一个
-- (phone*) 0-多个 ( 建议使用 )
-- (phone+) 1-多个
-- #PCDATA 元素是字符串类型 不能有子元素也不能为空 这个与属性名称空开一格 且加括号
-- CDATA 属性控制
   -- #REQUIRED 强制
   -- #FIXED 值 固定值

2.创建XML文件

代码如下(示例):

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE phones SYSTEM "test01.dtd">
<phones>
    <phone id="01">
        <name>华为</name>
        <money>9000</money>
    </phone>
</phones>
<!--  xml引入的固定格式->
<!- <!DOCTYPE 元素名称(根节点) SYSTEM "文件名称.dtd"->

3. 解析XML文档

代码如下(示例):

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();


        //获取文档构建对象
        DocumentBuilder db = dbf.newDocumentBuilder();


        //使用文档构建对象 将xml解析为document对象
        Document parse = db.parse(new File("test01.xml"));


        //更具标签名获取标签
        NodeList r = parse.getElementsByTagName("phones");

        //文档中根标签仅有一个 获取更标签
        Node item = r.item(0);

        //获取根标签直接子标签
        NodeList childNodes = item.getChildNodes();

        for (int i = 0; i < childNodes.getLength(); i++) {
            Node item1 = childNodes.item(i);
            //如果是元素节点继续执行,排除换行给解析带来的影响
            if (item1.getNodeType()== Node.ELEMENT_NODE){
                NodeList childNodes1 = item1.getChildNodes();
                for (int i1 = 0; i1 < childNodes1.getLength(); i1++) {
                    Node item2 = childNodes1.item(i1);
                    if (item2.getNodeType()== Node.ELEMENT_NODE){
                        String textContent = item2.getTextContent();
                        System.out.println(textContent);
                    }
                }
            }
        }

总结

在创建XML文档之前,需要仔细考虑文档的结构和元素,并选择适当的工具和方法来创建和验证文档,以确保文档的质量和有效性。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值