xml文件放在src目录下
book.xml:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
创建文档:
// 基于Stax的文档创间
@Test
public void createXml01() {
try {
XMLStreamWriter writer = XMLOutputFactory.newInstance()
.createXMLStreamWriter(System.out);
writer.writeStartDocument("UTF-8", "1.0");
writer.writeEndDocument();
String ns = "http://11:dd";
writer.writeStartElement("nssss", "person", ns);
writer.writeStartDocument(ns, "id");
writer.writeCData("1");
writer.writeEndElement();
writer.writeEndElement();
writer.flush();
writer.close();
} catch (XMLStreamException e) {
e.printStackTrace();
} catch (FactoryConfigurationError e) {
e.printStackTrace();
}
}
修改文档:
// 通过Transformer修改
@Test
public void updateXml() {
InputStream stream = null;
stream = TestStax.class.getClassLoader()
.getResourceAsStream("book.xml");
// 创建文档处理对象
DocumentBuilder builder = null;
try {
builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
// 通过DocumentBuilder创建文档对象
Document document = builder.parse(stream);
// 创建XPath
XPath xPath = XPathFactory.newInstance().newXPath();
Transformer transform = TransformerFactory.newInstance().newTransformer();
transform.setParameter(OutputKeys.ENCODING, "UTF-8");
NodeList nodeList = (NodeList) xPath
.evaluate("//book[title='Learning XML']", document,
XPathConstants.NODESET);
//获取price节点
Element be = (Element)nodeList.item(0);
//获取price 把它修改成3000.00
Element e = (Element)(be.getElementsByTagName("price").item(0));
e.setTextContent("3000.00");
Result result = new StreamResult(System.out);
//通过Transformer修改
transform.transform(new DOMSource(document),result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
结果显示:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>
3000.00</price>
</book>
</bookstore>
相关推荐
通过DOM,我们可以方便地遍历和修改XML文档的任何部分。例如,使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类可以创建和操作DOM树。以下是一个简单的例子: ```java import javax.xml....
本文将详细讲解XML的读取、创建、修改和保存的相关知识点。 一、XML的基本结构与语法 XML文档以XML声明开始,如`<?xml version="1.0" encoding="UTF-8"?>`,它指定了文档的版本和编码。XML文档由元素(Element)、...
Java XML API是Java平台提供的一套用于处理XML文档的接口和类,它使得开发者能够方便地在Java程序中创建、解析、修改XML文档。本文将深入探讨Java XML API中的核心组件,包括SAX(Simple API for XML)、DOM...
XML(Extensible Markup ...通过练习和理解上述解析方式,你可以更有效地读取、修改和创建XML文档。在编程时,应根据文件大小和性能需求选择合适的解析策略。同时,熟悉DOM库如dom4j可以提高开发效率,简化XML操作。
在Java中,我们可以使用多种库来创建、读取、修改和解析XML文档。本篇文章将深入探讨如何使用Java生成XML文档以及操作XML文件设置值。 一、Java生成XML文档 1. DOM(Document Object Model):DOM是W3C推荐的一种...
在Java中,我们可以使用DOM(Document Object Model)解析器,如javax.xml.parsers.DocumentBuilderFactory,创建一个解析器实例,加载XML文档,并将其转化为一个DOM树。DOM允许随机访问任何部分的文档,但会占用...
3. StAX解析:使用`XMLInputFactory`创建`XMLStreamReader`,然后逐个读取XML事件,如`StartElement`, `Characters`, `EndElement`等。StAX允许程序员控制解析过程,适合流式处理和低内存应用。 对于导出XML文件,...
JDOM(Java Document Object Model)是Java平台上的一个开源库,专门用来处理XML文档,提供了高效且方便的方式来创建、读取、修改XML文档。 在Java中,使用JDOM进行XML操作主要涉及以下几个核心概念和步骤: 1. **...
总结,操作XML文件包括创建XML文档、使用不同类型的解析器进行读取、通过DOM进行修改以及使用TransformerAPI保存。这些基本操作构成了XML处理的核心,掌握它们对于任何涉及XML的工作都至关重要。在实际开发中,还...
DOM解析器将整个XML文档加载到内存中,构建一个树形结构,允许开发人员遍历和修改XML文档的任何部分。在Java中,DOM解析通常通过`javax.xml.parsers.DocumentBuilderFactory`和`javax.xml.parsers.DocumentBuilder`...
我们可能需要读取XML文件中的数据,例如,使用DOM API的`DocumentBuilderFactory`和`DocumentBuilder`来创建`Document`对象,然后通过`getElementsByTagName`、`getElementsByTagnameNS`等方法查找元素,再用`...
本指南“XML_JAVA指南”将深入探讨如何在Java环境中解析、生成、修改和处理XML文档。 首先,理解XML的基本结构至关重要。XML文档由元素、属性、文本内容和注释等组成。元素是XML文档的核心,它们用尖括号包围,如`...
这些代码可能涵盖了创建XML Document对象、使用Transformer将Document转换为字符串或写入文件、或者使用JAXB进行对象到XML的映射。 对于导入XML,Java同样提供了相应的工具。例如,可以使用JAXB的Unmarshaller对象...
DOM是处理XML文档的一种常见方式,它将XML文档解析为一个树形结构,允许开发者通过节点操作来构建或修改XML文档。在Java中,可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类来实现...
开发者可以通过遍历节点来访问和修改XML内容。例如,`org.w3c.dom.Document`接口代表整个文档,`Node`接口表示文档中的每一个元素、属性或文本。 2. SAX API:这是一种事件驱动的解析器,适用于处理大型XML文档。...
修改完成后,需使用`Transformer`将`Document`对象转换回XML字符串,保存到文件。 8. **XPath和XSLT** XPath是一种在XML文档中查找信息的语言,可以用来定位元素、属性等。XSLT(XSL Transformations)则用于转换...
标题中的"DOM_XML.rar"可能是一个包含DOM解析XML相关示例的压缩文件,"DOM_dom xml_dom xml java_dom解析xml_java解析xml"这部分描述了文件的主要内容,即关于DOM(Document Object Model)在XML解析中的应用,特别...
本篇主要介绍如何通过Java编程语言生成XML文档,结合“XML项目开发中用到的”这一标签,我们将深入探讨Java API中的DOM、SAX和StAX三种解析器,以及它们在创建XML文件时的应用。 1. DOM(Document Object Model)...
5. 操作DOM:可以添加、删除、修改节点,实现对XML文档内容的修改。 写入XML文件时,通常涉及以下过程: 1. 创建DOM树:使用DOM API创建一个新的DOM树结构,这可能涉及到创建元素、属性和文本节点。 2. 修改DOM树...