`
will-vip
  • 浏览: 40908 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

获取配置文件信息

XML 
阅读更多

import javax.xml.parsers.*;
import org.w3c.dom.*;

 

public class DOM_sample
{
    static String displayText[] = new String[1000];
    static int numberLines = 0;

    public static void main(String args[])
    {
        try {
            DocumentBuilderFactory factory =
                DocumentBuilderFactory.newInstance();

            DocumentBuilder builder = null;
            try {
                builder = factory.newDocumentBuilder();
            }
            catch (ParserConfigurationException e) {}

            Document document = null;
            document = builder.parse(args[0]);

            childLoop(document, "");

        } catch (Exception e) {
            e.printStackTrace(System.err);
        }

        for(int loopIndex = 0; loopIndex < numberLines; loopIndex++){
            System.out.println(displayText[loopIndex]) ;
        }
    }

    public static void childLoop(Node node, String indentation)
    {
        if (node == null) {
            return;
        }

        int type = node.getNodeType();

        switch (type) {
            case Node.DOCUMENT_NODE: {
                displayText[numberLines] = indentation;
                displayText[numberLines] +=
                    "<?xml version=\"1.0\" encoding=\""+
                  "UTF-8" + "\"?>";
                numberLines++;
                childLoop(((Document)node).getDocumentElement(), "");
                break;
             }

             case Node.ELEMENT_NODE: {
                 displayText[numberLines] = indentation;
                 displayText[numberLines] += "<";
                 displayText[numberLines] += node.getNodeName();

                 int length = (node.getAttributes() != null) ?
                     node.getAttributes().getLength() : 0;
                 Attr attributes[] = new Attr[length];
                 for (int loopIndex = 0; loopIndex < length; loopIndex++) {
                     attributes[loopIndex] =
                         (Attr)node.getAttributes().item(loopIndex);
                 }

                 for (int loopIndex = 0; loopIndex < attributes.length;
                     loopIndex++) {
                     Attr attribute = attributes[loopIndex];
                     displayText[numberLines] += " ";
                     displayText[numberLines] += attribute.getNodeName();
                     displayText[numberLines] += "=\"";
                     displayText[numberLines] += attribute.getNodeValue();
                     displayText[numberLines] += "\"";
                 }
                 displayText[numberLines] += ">";

                 numberLines++;

                 NodeList childNodes = node.getChildNodes();
                 if (childNodes != null) {
                     length = childNodes.getLength();
                     indentation += "    ";
                     for (int loopIndex = 0; loopIndex < length; loopIndex++ ) {
                        childLoop(childNodes.item(loopIndex), indentation);
                     }
                 }
                 break;
             }

             case Node.TEXT_NODE: {
                 displayText[numberLines] = indentation;
                 String trimmedText = node.getNodeValue().trim();
                 if(trimmedText.indexOf("\n") < 0 && trimmedText.length() > 0){
                     displayText[numberLines] += trimmedText;
                     numberLines++;
                 }
                 break;
             }

             case Node.PROCESSING_INSTRUCTION_NODE: {
                 displayText[numberLines] = indentation;
                 displayText[numberLines] += "<?";
                 displayText[numberLines] += node.getNodeName();
                 String text = node.getNodeValue();
                 if (text != null && text.length() > 0) {
                     displayText[numberLines] += text;
                 }
                 displayText[numberLines] += "?>";
                 numberLines++;
                 break;
             }

             case Node.CDATA_SECTION_NODE: {
                 displayText[numberLines] = indentation;
                 displayText[numberLines] += "<![CDATA[";
                 displayText[numberLines] += node.getNodeValue();
                 displayText[numberLines] += "]]>";
                 numberLines++;
                 break;
            }
        }

        if (type == Node.ELEMENT_NODE) {
            displayText[numberLines] = indentation.substring(0,
                indentation.length() - 4);
            displayText[numberLines] += "</";
            displayText[numberLines] += node.getNodeName();
            displayText[numberLines] += ">";
            numberLines++;
            indentation += "    ";
        }
    }
}

分享到:
评论

相关推荐

    java类读取配置文件信息

    Java类读取配置文件信息 Java类读取配置文件信息是Java编程语言中的一种常见操作。配置文件是指存储应用程序配置信息的文件,例如数据库连接信息、服务器地址等。在Java类中,读取配置文件信息可以使用多种方法,...

    读取配置文件信息

    一个读取配置文件的工具类 希望可以帮助大家哟

    基于Qt的读取配置文件

    [MoonlightService这个string串就是读取配置文件的路径,可以写成宏函数] 3.在判断完m_iniFile是否为空, 接下来就是可以使用了 举例: if (m_iniFile != NULL){ strRet = m_iniFile-&gt;GetValue("moonlightService...

    C#获取和修改配置文件信息

    1. **读取配置文件信息** 要读取配置文件,首先需要引用`System.Configuration`命名空间,这包含处理配置文件所需的所有类。然后,可以使用`ConfigurationManager`类的`AppSettings`属性来访问`appSettings`部分的...

    java读取配置文件

    在Java编程中,读取配置文件是常见的任务,特别是在开发需要灵活配置的系统时。配置文件通常用于存储应用程序的设置...确保正确处理异常,保证资源及时关闭,以及在读取配置文件时考虑到安全问题,避免硬编码敏感信息。

    利用Java的Properties 类读取配置文件信息

    在Java编程中,读取配置文件是常见的任务,主要用于存储应用程序的设置或环境变量,以方便管理和维护。Java提供了一个内置的`java.util.Properties`类,用于处理`.properties`文件,这种格式通常用来存储键值对,即...

    Java_Properties_类读取配置文件信息

    【Java_Properties_类读取配置文件信息】 在软件开发中,配置文件是必不可少的,因为它们允许我们灵活地管理程序中的可变参数,而无需修改源代码。Java 支持使用 `.properties` 文件作为其标准配置文件格式,这得益...

    保存INI配置文件和读取配置文件

    INI 配置文件的保存和读取 INI 配置文件是一种常见的文件格式,用于存储程序的配置信息。它是一种简单的持久化机制,允许程序在启动时初始化配置信息。INI 文件由多个节(Section)组成,每个节中可以有多个键名...

    C#读取配置文件详解教程

    C# 读取配置文件详解教程 配置文件是 C# 中的一个重要概念,它允许开发人员存储和读取应用程序的配置信息。...* 配置文件的缺点包括需要正确地声明和设置配置节、需要正确地读取配置文件中的配置信息

    用enum实现单例模式的方法来读取配置文件

    `Properties`类用于处理键值对,它是Java中读取配置文件的标准方式。 要获取配置文件中的数据,我们可以调用`Singleton.INSTANCE.getProperties()`。例如,如果配置文件中有`database.url`属性,我们可以通过以下...

    封装读取配置文件

    除了默认读取配置文件外,还提供了根据特定路径读取配置文件的功能,通过`getPropertyValue`方法,开发者可以根据需要指定不同的配置文件路径,增强了框架的灵活性和适应性。 ### 结论 封装读取配置文件的方法,...

    读取配置文件工具类.rar

    本压缩包包含两个工具类,分别用于读取`.yml`和`.properties`格式的配置文件,这两种格式都是Java开发中常见的配置文件类型。 首先,我们来看`.properties`配置文件。这种格式的文件历史较为悠久,它的语法简单,每...

    java 读取配置文件

    在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和可维护的应用程序时。配置文件通常用于存储应用程序的设置、连接信息或其他敏感数据,这样可以将这些信息与核心代码分离,便于管理和更新。本篇文章将...

    【ASP.NET编程知识】.NET Core2.1如何获取自定义配置文件信息详解.docx

    在读取配置文件信息时,我们需要使用 IConfigurationSection.GetSection 方法来获取配置节,然后使用 Value 属性来获取配置值。例如,我们可以使用以下代码来获取 API 的 Url: ```csharp public static string Get...

    LabVIEW 写入与读取配置文件

    2. 数据类型转换:读取配置文件时,可能需要将字符串转换为适当的LabVIEW数据类型,如数值、布尔值或日期时间。 3. 文件路径:确保指定的文件路径有效,尤其是在跨平台应用中,考虑到不同操作系统下的路径表示可能...

    读取配置文件代码

    在Java编程中,读取配置文件是常见的任务,它允许我们分离应用程序的配置信息,使得配置可以在不修改源代码的情况下更改。本示例将详细解释如何使用Java来读取configuration配置文件中的内容,以实现更灵活和可维护...

    c# 通过配置文件读取数据库连接字符创,读取配置文件值

    1. **读取配置文件**: - 使用`ConfigurationManager`类的`OpenExeConfiguration`方法打开当前执行程序的配置文件。 - `Configuration`对象可以访问配置文件的所有部分,如`AppSettings`、`ConnectionStrings`等。...

    spring读取配置文件

    在Spring框架中,配置文件是应用的核心组成部分,它定义了bean的定义、依赖关系以及其他配置信息。本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`...

    linux读取配置文件

    在Linux系统中,读取配置文件是日常管理任务的一部分,特别是在使用像MySQL这样的数据库服务时。配置文件通常存储了服务的参数和设置,以便于管理和调整。本篇将详细讲解如何在Linux环境下处理类似“标题”中提到的...

Global site tag (gtag.js) - Google Analytics