如何解析xml格式的字符串的案例
/*
* 创建日期 2008-4-15
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package com.tsinghua;
import java.io.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.*;
import org.w3c.dom.*;
/**
* @author administrator
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class Dome2 {
public static void main(String[] args) {
// 开始 解析 person.xml文件
//1解析器 工厂 类
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
try {
// 通过 解析器 工厂 创建 一个 解析 器
DocumentBuilder db=dbf.newDocumentBuilder();
//告诉 改 解析器 去 解析 那个 文件 -->dom树
// Document dm=db.parse("f:\\person.xml");
//对字符串解析
String testStr= "<?xml version=\"1.0\" encoding=\"gb2312\"?>"+
"<!--该xml存储了人员信息-->"+
"<company><person sex=\"male\" id=\"0001\"><name att=\"ok\"><realname>小小</realname>"+
"<nickname>小猪</nickname></name><email>zhangsan@sohu.com</email></person></company>";
//将该字符串转为InputStream流
InputStream iStream=new ByteArrayInputStream(testStr.getBytes());
Document dm=db.parse(iStream);
//得到 所有 person节点
NodeList persons=dm.getElementsByTagName("person");
for(int i=0;i<persons.getLength();i++){
//element 和 node 是 同一 概念
//不同 的 是 element 提供 更多 方法
Element personElement = (Element)persons.item(i);
//得到person节点的属性
String id=personElement.getAttribute("id");
System.out.println("id="+id);
NodeList nameList=personElement.getElementsByTagName("name");
Element name=(Element)nameList.item(0);
String att=name.getAttribute("att");
System.out.println("att="+att);
//取出 name 的 值
// System.out.println("name="+nameList.item(0).getFirstChild().getNodeValue());
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
} finally {
}
}
}
分享到:
相关推荐
在IT行业中,XML(eXtensible Markup Language)是一种用于存储和传输数据的标准化格式,因其结构清晰、可扩展性强而被广泛应用。JSP(JavaServer Pages)是Java平台上的动态网页技术,允许开发者在HTML页面中嵌入...
5. 保存XML:修改后,使用`TransformerFactory`和`Transformer`将内存中的DOM树转换回XML字符串,通过`transform()`方法输出。 在Myeclipse中运行此实例,你将学习到如何在实际项目中应用这些步骤。具体步骤如下: ...
修改后,需要使用`XMLOutputter`来生成新的XML字符串或写入到文件。 ```java XMLOutputter xmlOutput = new XMLOutputter(); xmlOutput.output(document, new FileWriter("output.xml")); ``` ### 示例代码 ...
1. **解析XML**:使用`javax.xml.parsers.DocumentBuilderFactory`和`DocumentBuilder`来解析XML字符串,生成一个`org.w3c.dom.Document`对象。 2. **创建实体类的Java类型信息**:JAXB需要知道实体类的结构,通过`@...
要读取Cookie,可以使用`document.cookie`字符串的解析函数。 4. **跨浏览器兼容性**:在本案例中,考虑到IE和Firefox,开发者需要处理两者之间的差异。例如,对于XML解析,IE使用`ActiveXObject("Microsoft.XML...
在JavaScript中,可以使用`DOMParser`对象来解析XML字符串,将其转换为DOM(Document Object Model)结构,然后通过遍历DOM节点获取所需的数据。例如: ```javascript let parser = new DOMParser(); let xmlDoc = ...
3. 描述资源:例如Android应用中的布局文件、字符串资源等,都采用XML格式,方便开发者管理和组织。 三、XML解析技术 在手机中解析XML主要有两种方式: 1. DOM解析:Document Object Model,它将整个XML文件加载到...
// 输出XML字符串 System.out.println(new XMLOutputter().outputString(doc)); } } ``` 这个例子创建了一个`<books>`元素,其中包含一个`<book>`子元素,带有`id`属性和文本内容。 ### 3. 解析XML文档 解析...
2. 保存XML:创建并填充了XML树后,可以使用XMLDOM的`SaveXML()`方法将XML树保存到文件,或者`SaveXMLToString()`方法将其转换为字符串进行处理。 三、实例步骤 1. 创建PB应用程序:启动PowerBuilder 10,新建一个...
console.log('Error loading XML document'); } }); ``` 上述代码首先发送一个GET请求到指定的XML文件,然后在成功回调函数中解析XML文档。`$(xml).find('item')`查找所有名为`item`的元素,并对每个元素提取`...
- XmlDocument类提供了Load方法加载XML文件,Parse方法可以解析XML字符串,而Validate方法可以验证XML文档是否符合XSD。 通过理解这些基本概念并熟练应用,可以有效地识别和解决XML解析错误。对于具体案例,如"XML...
SAX解析器是XML解析的一种事件驱动方法,它不会像DOM(Document Object Model)解析器那样将整个XML文档加载到内存中,而是逐个处理文档中的元素。这种特性使得SAX解析器在处理大型XML文件时具有较高的性能优势,...
2. 设置输入源:通过`setInput()`方法设置XML数据的输入源,可以是文件、流或字符串。 3. 循环处理:通过不断调用`next()`方法,直到`END_DOCUMENT`状态,每次调用都会返回当前XML事件的类型,如`START_TAG`、`END_...
这些方法会将DOM树转换回XML字符串并写入文件。 5. **异常处理**:在处理XML时,错误和异常是常见的。案例可能包含适当的错误处理代码,如`Try...Catch...Finally`块,确保在出现错误时程序能正常运行。 6. **性能...
在C#编程中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它具有结构化、易于理解和解析的特点。本案例展示了如何使用C#进行XML文件的读写操作,特别是通过`XmlTextReader`类来逐节点解析XML文档,...
// xmlContent是XML字符串 // 获取所有item元素并存入List List<Element> itemList = document.selectNodes("/root/item"); Map, Map, String>> itemDetails = new HashMap(); for (Element item : itemList)...
2. **设置输入源**: 接下来,我们需要将XML数据源(如文件、流或字符串)与解析器关联。例如,如果XML文件在 assets 目录下,可以使用`AssetManager`来获取输入流。 ```java AssetManager assetManager = context....
例如,`new SimpleXMLElement($xml_string)`可以解析XML字符串,`->addChild()`用于添加子元素,`->attributes()`获取元素的属性。 4. **XPath**: PHP的DOMDocument类支持XPath查询语言,这使得我们能更精确地定位...
1. **XML解析**:在LabVIEW中,你可以使用“解析XML”函数来将XML字符串或文件转换为可操作的数据结构。这个过程涉及到识别XML文档的元素、属性、文本节点等,并将它们转换为LabVIEW的簇或者数组。 2. **XML创建**...
- 转换和序列化:可以将XMLBean对象转换为XML字符串,或者将XML字符串反序列化为Java对象。 - 验证:XMLBean可以验证XML文档是否符合其对应的XML Schema。 5. 性能和效率: - XMLBean虽然提供了丰富的功能,但...