导航:首页 > 编程语言 > 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

友情链接