導航:首頁 > 編程語言 > java讀取xml格式數據

java讀取xml格式數據

發布時間:2025-10-19 12:23:06

A. 關於java xml讀取時中文路徑的問題

用下面的試試:
Documentdocument=builder.parse(newFile("D:\中文\aa.xml"));

原因:

builder.parse(Stringurl)這個傳的參數用url的方式的,中文會有編碼問題。

另外,你路徑中的冒號用了中文符號,要注意!

B. java 關於讀取xml文件的問題

用dom4j

dom4j 需要一個jar包 網上有下載 一搜很多的。

1.讀取XML文件,獲得document對象。

SAXReader reader = new SAXReader();
Document document = reader.read(new File("input.xml"));

2.解析XML形式的文本,得到document對象。

String text = "<members></members>";
Document document = DocumentHelper.parseText(text);

3.主動創建document對象。

Document document = DocumentHelper.createDocument();
Element root = document.addElement("members");// 創建根節點

二、節點相關

1.獲取文檔的根節點。

Element rootElm = document.getRootElement();

2.取得某節點的單個子節點。

Element memberElm=root.element("member");// "member"是節點名

3.取得節點的文字

String text=memberElm.getText();也可以用:
String text=root.elementText("name");這個是取得根節點下的name位元組點的文字

4.取得某節點下名為"member"的所有位元組點並進行遍歷

List nodes = rootElm.elements("member");

for (Iterator it = nodes.iterator(); it.hasNext();) {
Element elm = (Element) it.next();
// do something
}

5.對某節點下的所有子節點進行遍歷。

for(Iterator it=root.elementIterator();it.hasNext();){
Element element = (Element) it.next();
// do something
}

6.在某節點下添加子節點。

Element ageElm = newMemberElm.addElement("age");

7.設置節點文字。

ageElm.setText("29");

8.刪除某節點。

parentElm.remove(childElm);// childElm是待刪除的節點,parentElm是其父節點

三、屬性相關。

1.取得某節點下的某屬性

Element root=document.getRootElement();
Attribute attribute=root.attribute("size");// 屬性名name

2.取得屬性的文字

String text=attribute.getText();也可以用:
String text2=root.element("name").attributeValue("firstname");這個是取得根節點下name位元組點的屬性firstname的值

3.遍歷某節點的所有屬性

Element root=document.getRootElement();
for(Iterator it=root.attributeIterator();it.hasNext();){
Attribute attribute = (Attribute) it.next();
String text=attribute.getText();
System.out.println(text);
}

4.設置某節點的屬性和文字。

newMemberElm.addAttribute("name", "sitinspring");

5.設置屬性的文字

Attribute attribute=root.attribute("name");
attribute.setText("sitinspring");

6.刪除某屬性

Attribute attribute=root.attribute("size");// 屬性名name
root.remove(attribute);

C. java 怎麼讀取xml裡面的值

java讀取xml信息常用技術有dom解析和dom4J解析
dom4j是最常用的java解析xml技術回,在使用時需答要下載dom4j.jar
具體解析方法可以參考一下內容

xml結構

<books>
<book id="001">
<title>Harry Potter</title>
<author>J K. Rowling</author>
</book>
<book id="002">
<title>Learning XML</title>
<author>Erik T. Ray</author>
</book>
</books>

D. 在java在如何解析XML文件

在Java環境中處理XML文件主要有四種方法:DOM(Document Object Model)、SAX(Simple API for XML)、JDOM以及JAXB(Java Architecture for XML Binding)。DOM是一種由W3C提供的方法,它將整個XML文件載入到內存中,並構建一棵數據樹,以便快速訪問各個節點。這種方法對系統性能要求較高,適合較小的XML文件,但對於較大的文檔來說,可能不是最佳選擇。

DOM API直接遵循XML規范,每個節點都是基於Node介面的,從多態性的角度來看,這是一種優秀的實現。然而,在Java中使用時,這種設計並不十分方便,且可讀性較差。

以DOM為例,我們可以通過以下代碼導入必要的包:

<pre>
<code>
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.apache.crimson.tree.XmlDocument;
</code>
</pre>

接下來,我們創建一個DocumentBuilderFactory實例,並設置其屬性:

<pre>
<code>
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
factory.setValidating(true);
</code>
</pre>

然後,我們通過DocumentBuilderFactory獲得一個DocumentBuilder實例,並解析XML文件:

<pre>
<code>
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(fileURI);
</code>
</pre>

接下來,我們獲取根節點並遍歷所有student節點:

<pre>
<code>
Element elmtStuInfo = doc.getDocumentElement();
NodeList nlStudent = elmtStuInfo.getElementsByTagNameNS(strNamespace, "student");
for (int i = 0; i < nlStudent.getLength(); i++) {
Element elmtStudent = (Element)nlStudent.item(i);
NodeList nlCurrent = elmtStudent.getElementsByTagNameNS(strNamespace, "name");
}
</code>
</pre>

總之,DOM方法雖然功能強大,但對大文件處理效率較低,且在Java中的應用不夠直觀。在實際開發中,可根據具體需求選擇合適的解析方式。

E. java讀取配置文件的方法(xml)

用的是jdom包

URL url = RederXml.class.getClassLoader().getResource("");
String path = url.toString() + "/config.xml";\\工程種xml的路徑
HashMap<String, String> map = new HashMap<String, String>();
SAXBuilder sax = new SAXBuilder();
Document doc = null;
try {
doc = sax.build(path);
} catch (JDOMException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Element root = doc.getRootElement();

F. 在java在如何解析XML文件

在java環境下讀取xml文件的方法主要有4種:DOM、SAX、JDOM、JAXB
1. DOM(Document Object Model)
此方法主要由W3C提供,它將xml文件全部讀入內存中,然後將各個元素組成一棵數據樹,以便快速的訪問各個節點 。 因此非常消耗系統性能 ,對比較大的文檔不適宜採用DOM方法來解析。 DOM API 直接沿襲了 XML 規范。每個結點都可以擴展的基於 Node 的介面,就多態性的觀點來講,它是優秀的,但是在 Java 語言中的應用不方便,並且可讀性不強。
實例:
import javax.xml.parsers.*;
//XML解析器介面
import org.w3c.dom.*;
//XML的DOM實現
import org.apache.crimson.tree.XmlDocument;
//寫XML文件要用到

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//允許名字空間
factory.setNamespaceAware(true);
//允許驗證
factory.setValidating(true);
//獲得DocumentBuilder的一個實例
try {
DocumentBuilder builder = factory.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
System.err.println(pce);
// 出異常時輸出異常信息,然後退出,下同
System.exit(1);
}
//解析文檔,並獲得一個Document實例。
try {
Document doc = builder.parse(fileURI);
} catch (DOMException dom) {
System.err.println(dom.getMessage());
System.exit(1);
} catch (IOException ioe) {
System.err.println(ioe);
System.exit(1);
}

//獲得根節點StuInfo
Element elmtStuInfo = doc.getDocumentElement();

//得到所有student節點
NodeList nlStudent = elmtStuInfo.getElementsByTagNameNS(
strNamespace, "student");
for (……){
//當前student節點元素
Element elmtStudent = (Element)nlStudent.item(i);

NodeList nlCurrent = elmtStudent.getElementsByTagNameNS(
strNamespace, "name");
}

閱讀全文

與java讀取xml格式數據相關的資料

熱點內容
vbaword表格中的表格 瀏覽:585
建賬的初始數據是從哪個表上填寫 瀏覽:986
廣州做網站費用多少 瀏覽:691
隱藏app圖標ios9 瀏覽:446
蘋果62g網路 瀏覽:730
java讀取xml格式數據 瀏覽:170
java商品推送 瀏覽:708
網上的視頻文件打不開 瀏覽:237
用phpcms建網站流程 瀏覽:973
word2010表格數字遞增 瀏覽:273
資料庫表的大小 瀏覽:452
天津編程考試哪裡好 瀏覽:792
蘋果手機更新系統後系統文件過大 瀏覽:810
js的事件有什麼區別 瀏覽:763
圖片中植入程序 瀏覽:832
數控機床編程哪裡能學 瀏覽:110
網頁源代碼的視頻 瀏覽:684
java獲取button的名字 瀏覽:64
ps人物彩繪攝影教程 瀏覽:70
c獲取當前文件名 瀏覽:212

友情鏈接