1.读取XML文件
<?xml version="1.0" encoding="UTF-8"?>
<userlist>
<user>
<name>zhangsan</name>
<mobile>123456789</mobile>
<email>zhangsan@125.com</email>
<birthday>1980-06-26</birthday>
</user>
<user>
<name>lisi</name>
<mobile>156748951</mobile>
<email>lisi@125.com</email>
<birthday>1989-06-06</birthday>
</user>
</userlist>
(1)inputStream类型
InputStream input = this.getClass().getClassLoader().getResourceAsStream("user.xml");
(2)转成string类型
InputStream input = this.getClass().getClassLoader().getResourceAsStream("user.xml");
SAXReader saxReader = new SAXReader();
Document document = null;
String xmlData = document.asXML();
2.解析XML文件
(1)String类型输入
List<User> userList = new ArrayList<User>(10);
try
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
[b]InputSource is = new InputSource();
is.setCharacterStream(new StringReader(xmlData));[/color]
//转换成document后解析,不管是inputsteam或者string
Document doc = db.parse(is);[/b]
NodeList usersNodes = doc.getElementsByTagName("user");
for (int i = 0; i < usersNodes.getLength(); i++)
{
Element usersElement = (Element)usersNodes.item(i);
User user = new User();
NodeList childNodes = usersElement.getChildNodes();
// System.out.println("*****"+childNodes.getLength());
for (int j = 0; j < childNodes.getLength(); j++)
{
if (childNodes.item(j).getNodeType() == Node.ELEMENT_NODE)
{
if ("name".equals(childNodes.item(j).getNodeName()))
{
user.setName(childNodes.item(j).getFirstChild().getNodeValue());
}
else if ("mobile".equals(childNodes.item(j).getNodeName()))
{
user.setMobile(childNodes.item(j).getFirstChild().getNodeValue());
}
else if ("email".equals(childNodes.item(j).getNodeName()))
{
user.setEmail(childNodes.item(j).getFirstChild().getNodeValue());
}
else if ("birthday".equals(childNodes.item(j).getNodeName()))
{
String dataString = childNodes.item(j).getFirstChild().getNodeValue();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try
{
Date date = sdf.parse(dataString);//字符串转时间
user.setBirthday(date);
}
catch (ParseException e)
{
e.printStackTrace();
}
}
}
}//end for j
userList.add(user);
}
}
catch (Exception e)
{
e.printStackTrace();
}
(2)inputstream类型
将红色部分换成如下代码
Document document = null;
try
{
builder = factory.newDocumentBuilder();
}
catch (ParserConfigurationException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
try
{
document = builder.parse(xmlData);
}
catch (SAXException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
catch (IOException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
Element element = document.getDocumentElement();
分享到:
相关推荐
总结,PowerBuilder 9为处理XML文件提供了强大的支持,通过XMLDocument对象和DOM解析器,我们可以轻松地读取、写入和操作XML数据。这些功能使PB9成为开发涉及XML的应用的理想工具,帮助开发者高效地完成数据交换和...
使用DOM方法读取XML文件,需要创建DocumentBuilderFactory对象,获取DocumentBuilder对象,然后解析XML文件得到Document对象。最后,使用Document对象的getElementsByTagName方法获取指定标签的节点列表,并遍历节点...
在C# WinForm应用程序中,读写XML文件是常见的数据操作任务。XML(eXtensible Markup Language)是一种用于存储和传输数据的标准格式,它结构清晰、易于解析且跨平台。下面将详细介绍如何使用C# WinForm来实现XML...
本项目“tinyxml2解析XML文件读取数据”主要关注如何使用tinyxml2库来高效地解析XML文件并提取其中的数据。以下将详细介绍tinyxml2库的关键功能和使用方法。 1. **tinyxml2库介绍** - tinyxml2提供了DOM(Document...
本教程将详细介绍如何在Android环境下解析XML文件,以"ReadXMLDemo"为例,展示具体步骤和关键知识点。 首先,XML(eXtensible Markup Language)是一种自定义标记语言,它的结构清晰,易于读写,适合于数据交换和...
- **SAX** 则适用于处理大型XML文件,或者只需要按顺序读取数据而不需要反复访问的情况。 **HotelManagementSys 示例** 在HotelManagementSys项目中,可能有一个XML文件存储酒店的预订信息,包括客户姓名、房间...
`xmlread`用于读取XML文件并将其转换为一个文档对象模型(DOM)树,而`xmlwrite`则可以将DOM树写回到XML文件。DOM树是一种数据结构,它代表了XML文件的整个内容,允许我们遍历和修改文件的各个部分。 例如,假设...
本文将深入探讨如何使用C++来解析XML文件,主要围绕“C++实现对xml文件的解析”这一主题展开。 XML文件通常包含一系列元素,每个元素都有开始标签、结束标签和可能的属性。C++中解析XML文件的方法多种多样,这里...
在本文中,我们将深入探讨如何使用 TinyXML 来读写 XML 文件,以及它在 Visual C++ 开发环境中的应用。 1. **TinyXML 的基本结构** TinyXML 提供了一系列类来表示 XML 文档的不同部分,如 `TiXmlDocument`(XML ...
在易语言中,学习XML解析有助于开发者有效地读取、写入和处理XML文档,实现数据的存取和应用。 易语言XML解析主要涉及到以下几个关键知识点: 1. **XML基础**:首先,我们需要了解XML的基本结构和语法规则,如元素...
3. **解析XML**:解析XML文件的核心是将读取到的文本转换为内部的数据结构。C语言中没有内置的XML解析库,但可以使用第三方库如libxml2,或者自行编写解析算法。自行编写时,可以使用字符串处理函数如`strtok()`来...
1. **解析XML**:解析XML文件意味着将其内容分解成易于处理的元素。Python中的`ElementTree`库和Java的`DOM` API都是常用的解析工具。它们可以将XML文件转换为树形结构,便于遍历和操作。 2. **读取XML**:通过解析...
js 操作xml 文件 读取xml文件 js 操作xml 文件 读取xml文件
2. **解析XML文件**:使用解析库提供的API读取XML文件,创建一个ElementTree对象,然后遍历元素树,提取所需数据。例如,可以使用ElementTree的`find()`或`findall()`方法找到特定标签的元素,再通过`.text`属性获取...
通过以上内容,我们可以看到使用JavaScript读取和解析XML文件的过程并不复杂。主要步骤包括创建`XMLHttpRequest`对象、发送请求、接收响应并将数据展示在页面上。这种方法非常适合于动态网页应用,能够提高用户体验...
在QT中处理XML文件,可以方便地进行数据的读取、写入和解析,使得应用程序能够与XML数据进行交互。 首先,我们需要了解QT中的QDomDocument类,它是QT提供的XML解析器,可以用来加载、修改和保存XML文档。使用...
Visual Basic(简称VB),作为一款功能强大的编程语言,支持多种方式来读取和解析XML文件。本文将详细介绍如何使用VB来读取XML文件,并提供示例代码帮助读者更好地理解和掌握这一技能。 #### 二、基础知识 在开始...
通过创建`XmlReader`实例,我们可以逐个节点遍历XML文件,每次读取一个节点时,解析数据并直接插入数据库。这种方法适用于大文件,防止一次性加载整个文件到内存中。 - 示例代码: ```csharp using (var reader =...
Kettle提供了解析XML文件并将其转换为结构化数据的能力,可以方便地处理各种XML格式,确保数据能够正确无误地导入Oracle数据库进行进一步的分析或存储。 以下是使用Kettle批量解析XML文件并导入到Oracle数据库的...
本项目"**C++ 读写XML文件**"是针对MFC(Microsoft Foundation Classes)框架的一个示例,展示了如何在C++环境中方便地操作XML文件。 首先,我们需要了解XML的基本结构。XML文件由元素(Element)、属性(Attribute...