如何在 React 中显示 XML 数据

发布日期:2026-07-16 02:56:03   来源 : 杭州电子商务研究院    浏览量 :16
杭州电子商务研究院 发布日期:2026-07-16 02:56:03  
16

介绍

React 是一个流行的 JavaScript 库,用于完美地创建动态且可重复使用的用户界面元素。XML 是最古老的文件格式,通常用于管理数据库数据并在互联网上共享,因为它是获取响应和向服务器发送请求的一种选择。

在本指南中,您将学习如何使用来自服务器的 XML 数据并将其呈现到 React 应用程序中。

从服务器获取 XML 数据

React 没有内置机制来获取和显示数据,但有大量 XML 解析库可用于此目的。在开始 React 应用指南之前,您必须有要显示的 XML 数据,您可能需要从服务器收集这些数据。

要从服务器获取数据,请使用 HttpClient Axios,它是使用下面的npm命令安装的。

      npm install axios
    

现在您已经安装了 Axios,请创建一个新组件,例如ParseXml.jsx,并实现componentDidMount()生命周期钩子,如下所示。

      componentDidMount() {
	var self = this;
	axios
	.get("https://fakerestapi.azurewebsites.net/api/Authors", {
		"Content-Type": "application/xml; charset=utf-8"
	 })
	.then(function(response) {
		self.setState({ authors: response.data });
	})
	.catch(function(error) {
		console.log(error);
	});
}
    

在上面的代码行中,伪造的 RestAPI 从此 URL 获取 XML 数据。

      https://fakerestapi.azurewebsites.net/api/Authors
    

您可以使用任何您想要的 API 数据;此示例仅用于本指南。

从服务器得到响应后,需要将数据存储在组件的某个地方,而本地状态是首选。

      .then(function(response) {
    self.setState({ authors: response.data });
})
    

您可以观察到响应来自服务器,并将数据存储在名为作者的状态变量中,然后可用于向最终用户显示数据。

在 React 应用中显示 XML 数据

到目前为止,在本指南中,您已使用 HttpClient 从服务器获取 XML 数据。下一步是以各种方式向客户显示 XML 解析数据。

使用内容类型作为 XML

从服务器获取数据时,指定内容类型为 XML。

      axios
.get("https://fakerestapi.azurewebsites.net/api/Authors", {
	"Content-Type": "application/xml; charset=utf-8"
})
    

因此,一旦您触发 API,响应就会被解析到对象中从而可以轻松使用和操作对象数据。

      render() {
	const { authors } = this.state;
 
	return (
		<div>
			Parse XML using ReactJs
			{(authors && authors.length > 0) &&
			authors.map((item) => {
				return (
					<span>{item.FirstName}</span>
				)
			})
		}
		</div>
	);
}
    

在上面的例子中,状态值为authors,你可以从服务器获取作者列表。使用.map()函数可以帮助你迭代数组项。

使用第三方 XML 解析库

您已经了解了如何使用 API 获取 XML 数据并将其显示给用户。或者,您可以使用各种第三方库,其中包括:

  • xml-to-react
  • xml2js
  • xml 转 json
  • xml-js
  • react-xml-parser

这些是可用于在 React 应用中解析 XML 数据的少数库。让我们尝试其中一个。

在使用该库之前,您需要安装它。我将在本指南中演示xml2js库。

      npm install xml2js
    

安装库后,实现库功能。

      render() {
	let parser = new xml2js.Parser();
 	parser.parseString(
		`<email>
		<to>Test</to>
		<from>Test1</from>
		<heading>Test email</heading>
		<body>Email regards to xml data parsing in React</body>
		</email>`,
		function(err, result) {
			 console.log(result);
		}
	);
	return <div>Parse XML using ReactJs</div>;
}
    

正如您在上面的示例中看到的,使用的解析器是xml2jsParser(),它从库中初始化解析器函数。

初始化解析器后,下一步是使用函数parseString()向解析器提供 XML 数据,该函数接受有效的 XML 数据。

一旦执行上述示例,控制台日志应如下所示。

XML 数据被完全转换为 JavaScript 对象,并且 XML 的每个子对象都是父对象的子子对象,如您在屏幕截图中所见。

这就是如何使用第三方库将来自内部或外部源的 XML 数据解析为对象或 JSON。

结论

React 是一个 JavaScript 库,JavaScript 中的所有内容都是对象,但有时您可能需要访问各种格式,例如 XML 和 JSON,因此解析对象非常容易。

在本指南中,您学习了如何使用响应的内容类型和第三方库来解析 XML 数据并将其显示给用户。希望对您有所帮助!

以上内容来自杭州电子商务研究院推送
关注
关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
Copyright © 2025-2027 ToB产业网址导航 公安备案 浙公网安备33010602013138号 浙ICP备16025413号-9
支持 反馈 关注 数据