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类中,读取配置文件信息可以使用多种方法,...
一个读取配置文件的工具类 希望可以帮助大家哟
[MoonlightService这个string串就是读取配置文件的路径,可以写成宏函数] 3.在判断完m_iniFile是否为空, 接下来就是可以使用了 举例: if (m_iniFile != NULL){ strRet = m_iniFile->GetValue("moonlightService...
1. **读取配置文件信息** 要读取配置文件,首先需要引用`System.Configuration`命名空间,这包含处理配置文件所需的所有类。然后,可以使用`ConfigurationManager`类的`AppSettings`属性来访问`appSettings`部分的...
在Java编程中,读取配置文件是常见的任务,特别是在开发需要灵活配置的系统时。配置文件通常用于存储应用程序的设置...确保正确处理异常,保证资源及时关闭,以及在读取配置文件时考虑到安全问题,避免硬编码敏感信息。
在Java编程中,读取配置文件是常见的任务,主要用于存储应用程序的设置或环境变量,以方便管理和维护。Java提供了一个内置的`java.util.Properties`类,用于处理`.properties`文件,这种格式通常用来存储键值对,即...
【Java_Properties_类读取配置文件信息】 在软件开发中,配置文件是必不可少的,因为它们允许我们灵活地管理程序中的可变参数,而无需修改源代码。Java 支持使用 `.properties` 文件作为其标准配置文件格式,这得益...
INI 配置文件的保存和读取 INI 配置文件是一种常见的文件格式,用于存储程序的配置信息。它是一种简单的持久化机制,允许程序在启动时初始化配置信息。INI 文件由多个节(Section)组成,每个节中可以有多个键名...
C# 读取配置文件详解教程 配置文件是 C# 中的一个重要概念,它允许开发人员存储和读取应用程序的配置信息。...* 配置文件的缺点包括需要正确地声明和设置配置节、需要正确地读取配置文件中的配置信息
`Properties`类用于处理键值对,它是Java中读取配置文件的标准方式。 要获取配置文件中的数据,我们可以调用`Singleton.INSTANCE.getProperties()`。例如,如果配置文件中有`database.url`属性,我们可以通过以下...
除了默认读取配置文件外,还提供了根据特定路径读取配置文件的功能,通过`getPropertyValue`方法,开发者可以根据需要指定不同的配置文件路径,增强了框架的灵活性和适应性。 ### 结论 封装读取配置文件的方法,...
本压缩包包含两个工具类,分别用于读取`.yml`和`.properties`格式的配置文件,这两种格式都是Java开发中常见的配置文件类型。 首先,我们来看`.properties`配置文件。这种格式的文件历史较为悠久,它的语法简单,每...
在Java编程中,读取配置文件是常见的任务,特别是在构建可扩展和可维护的应用程序时。配置文件通常用于存储应用程序的设置、连接信息或其他敏感数据,这样可以将这些信息与核心代码分离,便于管理和更新。本篇文章将...
在读取配置文件信息时,我们需要使用 IConfigurationSection.GetSection 方法来获取配置节,然后使用 Value 属性来获取配置值。例如,我们可以使用以下代码来获取 API 的 Url: ```csharp public static string Get...
2. 数据类型转换:读取配置文件时,可能需要将字符串转换为适当的LabVIEW数据类型,如数值、布尔值或日期时间。 3. 文件路径:确保指定的文件路径有效,尤其是在跨平台应用中,考虑到不同操作系统下的路径表示可能...
在Java编程中,读取配置文件是常见的任务,它允许我们分离应用程序的配置信息,使得配置可以在不修改源代码的情况下更改。本示例将详细解释如何使用Java来读取configuration配置文件中的内容,以实现更灵活和可维护...
1. **读取配置文件**: - 使用`ConfigurationManager`类的`OpenExeConfiguration`方法打开当前执行程序的配置文件。 - `Configuration`对象可以访问配置文件的所有部分,如`AppSettings`、`ConnectionStrings`等。...
在Spring框架中,配置文件是应用的核心组成部分,它定义了bean的定义、依赖关系以及其他配置信息。本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`...
在Linux系统中,读取配置文件是日常管理任务的一部分,特别是在使用像MySQL这样的数据库服务时。配置文件通常存储了服务的参数和设置,以便于管理和调整。本篇将详细讲解如何在Linux环境下处理类似“标题”中提到的...