1.加载xml文件获取document对象。
public static Document load(String filename) {
Document document = null;
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(new File(filename));
document.normalize();
} catch (Exception ex) {
ex.printStackTrace();
}
return document;
}
2.解析xml
public static void xmlUpdateStrings(HashMap<String, Object> map,String path) {
Document document = load(path);
Node root = document.getDocumentElement();
if (root.hasChildNodes()) {
//获取跟节点下所有元素
NodeList ftpnodes = root.getChildNodes();
for (int i = 0; i < ftpnodes.getLength(); i++) {
Node nd = ftpnodes.item(i);
//判断加点元素名称和类型
if(nd!=null&&nd.getNodeType()!=nd.COMMENT_NODE&&nd.getNodeName()=="string"){
//获取节点下所有属性
NamedNodeMap aMap=nd.getAttributes();
//获取节点中名称为name属性对象
Node attr=aMap.getNamedItem("name");
//获取属性值
String app_name=attr.getNodeValue();
if(attr!=null&&"app_name".equals(app_name)){
//修改对应节点值
nd.getFirstChild().setNodeValue(map.get("app_name").toString()); //修改节点值
}
}
}
}
doc2XmlFile(document, path);
}
3.将document对象写入对应地址文件
public static boolean doc2XmlFile(Document document, String filename) {
boolean flag = true;
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
// transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source, result);
} catch (Exception ex) {
flag = false;
ex.printStackTrace();
}
return flag;
}
4.xml文件格式
<?xml version="1.0" encoding="utf-8" standalone="no"?><resources>
<string name="hello">Hello World, DHotelActivity!</string>
<string name="app_name">00000000000</string> (被修改的节点值)
<string name="more">更多</string>
<string name="nodata">暂无数据</string>
<string name="about">关于道有道</string>
<string name="toast_noresult">抱歉,未找到结果</string>
<string name="beijing">北京</string>
</resources>
分享到:
相关推荐
w3c-dom.jar 包 dom解析xml使用 包 免积分下载
在Java中,`org.w3c.dom`包提供了DOM解析XML的基础接口和类。以下是DOM解析XML的基本步骤: 1. 加载XML文档:首先,我们需要一个`DocumentBuilderFactory`实例来配置和创建`DocumentBuilder`,然后用`...
Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,使用 W3C 推荐的文档对象模型(Document Object Model,DOM)来解析 XML 文档。DOM 提供了一个树形结构的对象模型,通过遍历树形结构可以访问和操作 ...
总的来说,理解并熟练掌握DOM解析XML是Java开发中的基础技能,无论是在简单的数据读取还是复杂的XML操作中,它都能提供强大的支持。同时,根据项目需求和性能考虑,可以选择JDOM等其他XML处理库作为替代方案。
标题“java_dom解析xml xml java”表明了本文档的主题是关于如何使用Java中的DOM技术来解析XML文件。 #### 描述分析 描述中提到这是一个适合新手入门的内容,并给出了一个简单的XML示例。该XML文档包含了一个`...
本篇文章将深入探讨Android中的DOM解析XML文件,包括其基本原理、实现步骤和一些实用技巧。 ### 1. DOM解析的基本概念 DOM解析是一种将XML文件转换为内存中对象模型的方法。它将XML文档视为一棵树,其中每个元素、...
例如,使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类可以创建和操作DOM树。以下是一个简单的例子: ```java import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom....
首先,需要导入必要的包,包括 java.io、javax.xml.parsers、javax.xml.transform 和 org.w3c.dom 等。这些包提供了 XML 文档的解析和生成功能。 接下来,创建一个名为 XMLHandler 的类,该类中包含一个名为 create...
例如,使用`DocumentBuilderFactory`创建`DocumentBuilder`,然后用`parse()`方法解析XML文件,最后通过`getElementsByTagName()`等方法访问节点。 2. SAX(Simple API for XML) 与DOM不同,SAX是基于事件驱动的...
在Java中,DOM解析XML文件主要涉及到`javax.xml.parsers.DocumentBuilderFactory`和`javax.xml.parsers.DocumentBuilder`这两个类。首先,我们创建一个`DocumentBuilderFactory`实例,然后用它来获取一个`...
Java中,`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类用于创建和操作DOM模型。这种解析方式适合小型XML文档,因为大型文档可能会消耗大量内存。 2. SAX解析器:SAX是一种事件驱动的解析...
Java提供了多种解析XML的API,包括SAX(Simple API for XML)、DOM(Document Object Model)以及DOM4J。下面我们将详细探讨这些解析方式及其在实际开发中的应用。 1. SAX解析器: SAX是一种基于事件驱动的解析器,...
Java中内置的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`接口是实现DOM解析的基础。 读取XML文件: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers...
1. **导入库**:使用DOM解析XML时,我们需要导入javax.xml.parsers和org.w3c.dom相关的库。例如: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; ...
DOM(Document Object Model)是W3C组织推荐的一种解析XML的标准API,它将XML文档转换为一个可操作的对象树,使得开发者可以通过编程方式对XML文档进行读取、修改和创建。 在Java中,DOM解析主要通过`javax.xml....
以下是一个简单的DOM解析XML文档的Java代码示例: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom....
Java的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类用于创建和操作DOM树。 2. SAX:SAX解析器是事件驱动的,只在需要时处理XML文档的部分内容,适合处理大型XML文件。`org.xml.sax....
在Java中,我们可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`等类来实现DOM解析。以下是一个简单的示例: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax...
Java DOM(Document Object Model)解析XML是一种...总的来说,DOM解析XML是Java中处理XML数据的基础技术,适用于小型或中型XML文档的读取和操作。理解并熟练掌握DOM解析,能够帮助开发者更高效地与XML数据进行交互。
首先,我们需要导入Java的`javax.xml.parsers`和`org.w3c.dom`包,它们提供了DOM解析XML所需的类和接口。 ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; ...