`
angangJonny
  • 浏览: 8604 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java org.w3c.dom 解析xml

    博客分类:
  • java
阅读更多

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 包

    w3c-dom.jar 包 dom解析xml使用 包 免积分下载

    DOM_XML.rar_DOM_dom xml_dom xml java_dom解析xml_java解析xml

    在Java中,`org.w3c.dom`包提供了DOM解析XML的基础接口和类。以下是DOM解析XML的基本步骤: 1. 加载XML文档:首先,我们需要一个`DocumentBuilderFactory`实例来配置和创建`DocumentBuilder`,然后用`...

    java dom 解析 xml 实例

    Java DOM 解析 XML 实例是 Java 语言中常用的 XML 解析方法之一,使用 W3C 推荐的文档对象模型(Document Object Model,DOM)来解析 XML 文档。DOM 提供了一个树形结构的对象模型,通过遍历树形结构可以访问和操作 ...

    java平台中使用DOM解析xml文件

    总的来说,理解并熟练掌握DOM解析XML是Java开发中的基础技能,无论是在简单的数据读取还是复杂的XML操作中,它都能提供强大的支持。同时,根据项目需求和性能考虑,可以选择JDOM等其他XML处理库作为替代方案。

    java_dom解析xml xml java

    标题“java_dom解析xml xml java”表明了本文档的主题是关于如何使用Java中的DOM技术来解析XML文件。 #### 描述分析 描述中提到这是一个适合新手入门的内容,并给出了一个简单的XML示例。该XML文档包含了一个`...

    android Dom解析xml文件

    本篇文章将深入探讨Android中的DOM解析XML文件,包括其基本原理、实现步骤和一些实用技巧。 ### 1. DOM解析的基本概念 DOM解析是一种将XML文件转换为内存中对象模型的方法。它将XML文档视为一棵树,其中每个元素、...

    java xml.java操作XML文档

    例如,使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类可以创建和操作DOM树。以下是一个简单的例子: ```java import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom....

    w3c 生成xml 换行实例

    首先,需要导入必要的包,包括 java.io、javax.xml.parsers、javax.xml.transform 和 org.w3c.dom 等。这些包提供了 XML 文档的解析和生成功能。 接下来,创建一个名为 XMLHandler 的类,该类中包含一个名为 create...

    java操作xml dom dom4j sax jdom

    例如,使用`DocumentBuilderFactory`创建`DocumentBuilder`,然后用`parse()`方法解析XML文件,最后通过`getElementsByTagName()`等方法访问节点。 2. SAX(Simple API for XML) 与DOM不同,SAX是基于事件驱动的...

    Java与XML联合编程之DOM篇.rar_dom xml_dom xml java_java xml

    在Java中,DOM解析XML文件主要涉及到`javax.xml.parsers.DocumentBuilderFactory`和`javax.xml.parsers.DocumentBuilder`这两个类。首先,我们创建一个`DocumentBuilderFactory`实例,然后用它来获取一个`...

    JavaXml.zip_java xml_javaXML_java解析xml_文档解析

    Java中,`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类用于创建和操作DOM模型。这种解析方式适合小型XML文档,因为大型文档可能会消耗大量内存。 2. SAX解析器:SAX是一种事件驱动的解析...

    Java使用sax、dom、dom4j解析xml文档

    Java提供了多种解析XML的API,包括SAX(Simple API for XML)、DOM(Document Object Model)以及DOM4J。下面我们将详细探讨这些解析方式及其在实际开发中的应用。 1. SAX解析器: SAX是一种基于事件驱动的解析器,...

    java 操作XML 采用(dom+dom4j)读写源码 lib包

    Java中内置的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`接口是实现DOM解析的基础。 读取XML文件: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers...

    xml解析 dom方式 例子和讲解

    1. **导入库**:使用DOM解析XML时,我们需要导入javax.xml.parsers和org.w3c.dom相关的库。例如: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; ...

    xml.dom解析实例(java)

    DOM(Document Object Model)是W3C组织推荐的一种解析XML的标准API,它将XML文档转换为一个可操作的对象树,使得开发者可以通过编程方式对XML文档进行读取、修改和创建。 在Java中,DOM解析主要通过`javax.xml....

    Java解析XML文档—使用DOM解析.doc

    以下是一个简单的DOM解析XML文档的Java代码示例: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org.w3c.dom....

    java_xml.rar_XML java_java xml_java 读取 本地文件

    Java的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类用于创建和操作DOM树。 2. SAX:SAX解析器是事件驱动的,只在需要时处理XML文档的部分内容,适合处理大型XML文件。`org.xml.sax....

    java解析xml,dom解析,jsoup解析,完整项目

    在Java中,我们可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`等类来实现DOM解析。以下是一个简单的示例: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax...

    JAVA_dom解析xml

    Java DOM(Document Object Model)解析XML是一种...总的来说,DOM解析XML是Java中处理XML数据的基础技术,适用于小型或中型XML文档的读取和操作。理解并熟练掌握DOM解析,能够帮助开发者更高效地与XML数据进行交互。

    Java中Dom方式解析XML

    首先,我们需要导入Java的`javax.xml.parsers`和`org.w3c.dom`包,它们提供了DOM解析XML所需的类和接口。 ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; ...

Global site tag (gtag.js) - Google Analytics