1. 程式人生 > >java格式化XML檔案

java格式化XML檔案

現有的xml格式不符合程式的要求,於是動手寫一個格式化xml的小工具。

現有的資料格式是這樣的

格式化之後的效果

格式化xml的方法有很多,我使用的是Dom4j方法

public class FormatXml {
	public static void main(String[] args) throws DocumentException, IOException {
		String inFile=args[0];
		String outFile=args[1];
		SAXReader reader=new SAXReader();
//		File file=new File("jzw.kml");
		File file=new File(inFile);
		Document document=reader.read(file);
		Element disElement=null;
		Element valElement=null;
		Element dataElement=null;
		Element root=document.getRootElement();
		Element Document=root.element("Document");
		Element Folder=Document.element("Folder");
		List<Element> placemarkList=Folder.elements("Placemark");

		for(Element Placemark :placemarkList) {
			Element ExtendedData=Placemark.element("ExtendedData");
			Element SchemaData=ExtendedData.element("SchemaData");
			List<Element> elementList=SchemaData.elements();
			for(Element element :elementList ) {
				String attrVal=element.attributeValue("name");
				dataElement =ExtendedData.addElement("Data");
				dataElement.setText("");
				disElement=dataElement.addElement("displayName");
				disElement.setText(attrVal);
				valElement=dataElement.addElement("value");
				valElement.setText(element.getText());
				element.detach();
			}
			SchemaData.detach();
		}
		
		FileOutputStream outputStream=new FileOutputStream(outFile);
//		FileOutputStream outputStream=new FileOutputStream("a.xml");
		OutputFormat outputFormat=new OutputFormat();
		outputFormat.setIndent(true);
		outputFormat.setNewlines(true);
		outputFormat.setEncoding("utf-8");
		XMLWriter writer=new XMLWriter(outputStream,outputFormat);
		writer.write(document);
		writer.close();
		
		
		

		}

}

相關推薦

java格式化XML檔案

現有的xml格式不符合程式的要求,於是動手寫一個格式化xml的小工具。 現有的資料格式是這樣的 格式化之後的效果 格式化xml的方法有很多,我使用的是Dom4j方法 public cla

java格式化xml字串

上篇部落格是利用前臺js來格式化xml字串,那麼這篇部落格則通過後臺java來格式化輸出xml字串。 public String formatXML(String inputXML) throws Exception { SAXReader reader = new SAXRea

java對於xml檔案的四種解析方式

概述 XML是一種通用的資料交換格式,它的平臺無關性、語言無關性、系統無關性、給資料整合與互動帶來了極大的方便。XML在不同的語言環境中解析方式都是一樣的,只不過實現的語法不同而已。 XML的解析方式分為四種:1、DOM解析;2、SAX解析;3、JDOM解析;4、DOM4J解析。其中

sublime一鍵格式化XML檔案

1 sublime簡介 sublime是一款程式碼編輯和閱讀軟體,體積小,執行快,介面非常簡潔漂亮。官方地址:https://www.sublimetext.com/   2 在sublime上安裝外掛 使用sublime一鍵格式化XML檔案需要使用一個外掛,所以首先

Java解析xml檔案的方式

import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; impo

java讀取xml檔案資料

import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import o

Java解析XML檔案的常用方法介紹

1 import java.io.IOException; 2 3 import javax.xml.parsers.DocumentBuilder; 4 import javax.xml.parsers.DocumentBuilderFactory; 5 import javax.x

Java解析xml檔案遇到“unknown protocol: c Nested exception: unknown protocol: c”問題的解決辦法

在寫畢設的時候在解析XML檔案的時候遇到的一個棘手的問題“unknown protocol: c Nested exception: unknown protocol: c”,翻閱了資料說是tomcat的安裝路徑不能有空格,要麼重新安裝tomcat,要麼以檔案的形式進行解析,

javaxml檔案表建立及讀取環境搭建並採用DOM4J完成XML檔案匯入到資料庫

    java一種簡單的解析xml方法是用DOM進行解析, dom4j是一個Java的XML API,類似於jdom,用來讀寫XML檔案的,dom4j用於處理xml是很常用的技術,本篇部落格介紹xml檔案表建立及讀取環境搭建並採用DOM4J完成XML檔案匯入到資料庫。

Java解析xml檔案之增刪改查

XML是什麼: 可擴充套件的標記語言 XML能幹什麼: 描述資料、儲存資料、傳輸(交換)資料。 XML文件節點型別: u     文件(document) u     元素(element) u     屬性(attribu

Java 操作xml檔案的dom4J庫使用

XML簡介 什麼是xml? XML 指可擴充套件標記語言(EXtensible Markup Language) XML 是一種標記語言,很類似 HTML XML 的設計宗旨是傳輸資料,而非顯示資料 XML 標籤沒有被預定義。您需要自行定義標籤。 XM

Eclipse格式化XML檔案

首先在prefence裡面點xml,進入editor,勾上split multiple XXXX  這個分行選項,   然後再xml檔案中:Ctrl+Shift+F 出現的錯誤: 搜狗打字法把快捷鍵佔用了,在搜狗打字法

Java 操作 xml 檔案之寫入

對於 Java 對 xml 檔案的讀寫,我在網上看了很多版本,結構差不多,根據自己的理解進行了一些總結。 寫入資料到 xml 相對比較簡單,我總結了以下兩種寫入方法,僅供參考! 1、dom4j 寫入 先看程式碼 import java.io.Pr

Java 寫入XML檔案

DOM和SAX方式是JAVA官方提供的方式,可以生成一個XML檔案來儲存資訊,DOM4J和JDOM是非官方的方式,可以生成一個RSS檔案 一、DOM方式生成XML文件 DOMTest: public class DOMTest { /*生成xml*

使用Notepad++的XML Tools外掛格式化XML檔案

1. 安裝XML Tools外掛 (1) 通過網址http://sourceforge.net/projects/npp-plugins/files/XML%20Tools/下載XML Tools,本

java解析xml檔案讀取本地dtd或者忽略dtd

Java程式在解析xml檔案時,如果xml檔案中指定了dtd,在預設會從指定的url下載dtd檔案,但是很多情況下如果網路連線不上,或者防火牆原因,dtd檔案無法下載下來導致程式報連線超時異常,解析xml失敗。有兩種方法解決該類問題: 1.指定從本地讀取dtd檔案 若要解析

Java解析XML檔案的四種方式

1 import javax.xml.parsers.SAXParser; 2 import javax.xml.parsers.SAXParserFactory; 3 4 import org.xml.sax.Attributes; 5 import org.xml.sax

java讀取xml檔案的四種方法

1 import javax.xml.parsers.SAXParser; 2 import javax.xml.parsers.SAXParserFactory; 3 4 import org.xml.sax.Attributes; 5 import org.x

java解析xml檔案四種方式

1.介紹 1)DOM(JAXP Crimson解析器) DOM是用與平臺和語言無關的方式表示XML文件的官方W3C標準。DOM是以層次結構組織的節點或資訊片斷的集合。這個層次結構允許開發人員在樹中尋找特定資訊。分析該結構通常需要載入整個文件和構造層次結構,然後才能做任何工作。由於它是基於資訊層次的,因而

java讀取xml檔案並轉換成物件,並進行修改

1.首先要寫工具類,處理讀取和寫入xml檔案使用的工具。XMLUtil.java import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import j