如何在React js中读取xml文件(data.xml)?

2023-11-21

我尝试读取 xml 文件并解析它react-xml-parser图书馆。

 var XMLParser = require('react-xml-parser');
 var xml = new XMLParser().parseFromString(xml_string);
 console.log(xml);
 console.log(xml.getElementsByTagName('Row'));

在这里,它应该从字符串读取,但我需要从文件中获取它。 我的 xml 文件位于目录:xmldata/list.xml,所以我现在不知道该怎么做。


尝试了这个代码:

import XMLData from '../../xmldata/list.xml';
function ReadData() {
          var jsonDataFromXml = new XMLParser().parseFromString(XMLData);
          console.log(jsonDataFromXml);
          console.log(jsonDataFromXml.getElementsByTagName('Row'));

        }
    }
}

结构文件夹

-src
   |—views
        |—AdminScreen
               |—AdminScreen.js <-here used list.xml
   |—xmldata
           |—list.xml 

但结果是:

bundle.js:81 Uncaught TypeError: Cannot set property 'value' of undefined
    at bundle.js:81
    at Array.map (<anonymous>)
    at e.value (bundle.js:76)
    at e.value (bundle.js:148)
    at ReadData (AdminScreen.js:36)
    at AdminScreen (AdminScreen.js:14)
    at renderWithHooks (react-dom.development.js:15821)
    at mountIndeterminateComponent (react-dom.development.js:18141)
    at beginWork$1 (react-dom.development.js:19357)
    at HTMLUnknownElement.callCallback (react-dom.development.js:363)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:412)
    at invokeGuardedCallback (react-dom.development.js:466)
    at beginWork$$1 (react-dom.development.js:24570)
    at performUnitOfWork (react-dom.development.js:23505)
    at workLoopSync (react-dom.development.js:23480)
    at renderRoot (react-dom.development.js:23155)
    at scheduleUpdateOnFiber (react-dom.development.js:22653)
    at scheduleRootUpdate (react-dom.development.js:25686)
    at updateContainerAtExpirationTime (react-dom.development.js:25712)
    at updateContainer (react-dom.development.js:25812)
    at react-dom.development.js:26370
    at unbatchedUpdates (react-dom.development.js:22952)
    at legacyRenderSubtreeIntoContainer (react-dom.development.js:26369)
    at Object.render (react-dom.development.js:26460)
    at Module../src/index.js (index.js:30)
    at __webpack_require__ (bootstrap:785)
    at fn (bootstrap:150)
    at Object.0 (index.js:2)
    at __webpack_require__ (bootstrap:785)
    at checkDeferredModules (bootstrap:45)
    at Array.webpackJsonpCallback [as push] (bootstrap:32)
    at main.chunk.js:1

要读取本地文件,您有两种选择:使用 XMLHttpRequest 或 axios。 使用 XMLHttpRequest:

import XMLData from '../../xmldata/list.xml';

var rawFile = new XMLHttpRequest();
rawFile.open("GET", XMLData, false);
rawFile.onreadystatechange = () => {
    if (rawFile.readyState === 4) {
        if (rawFile.status === 200 || rawFile.status == 0) {
            var xmlasstring = rawFile.responseText;
            console.log('Your xml file as string', xmlasstring)
        }
    }

我建议使用 axios bcz,在使用 Reactjs 时它是更方便、更好的选择 使用 axios:

import XMLData from '../../xmldata/list.xml';

axios.get(XMLData, {
   "Content-Type": "application/xml; charset=utf-8"
})
.then((response) => {
   console.log('Your xml file as string', response.data);
});

现在,在获取 xml 后,您可以根据需要使用 npm 包(例如 React-xml-parser、xml2js)来创建对象或 json。我建议使用 xml2js,它很好。我相信现在您还可以发送“POST”请求来更新您的 xml(如果您愿意)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在React js中读取xml文件(data.xml)? 的相关文章

  • 如何使用 JSX 和 Lodash 重复一个元素 n 次

    我在我的应用程序中使用 React JSX 和 Lodash 来实现我想要的 我需要根据条件重复某个元素一定次数 我该怎么做呢 这是元素 span span 我这样分配它 let card if data hand 8 or more ca
  • 为什么在 ES6 中不应该使用 import all

    所以我最近开始学习 React 并注意到所有文档都有类似的导入 import Apples Bananas Oranges from fruits 但是在研究 React 时我发现这种语法也同样有效 import as Fruits fro
  • 单击 btn 而不触发 div 单击未按预期工作

    代码沙盒 https codesandbox io s currying breeze depdc9 file package json https codesandbox io s currying breeze depdc9 file
  • React setState回调返回值

    我是 React 新手 我希望实现这种流程 set the state execute a function f an async one which returns a promise set the state again return
  • 鼠标输入时反应显示按钮

    我有一个反应组件 它包含如下方法 mouseEnter console log this is mouse enter render var album list const albums this props if albums user
  • React-Redux:绑定按键操作以启动减速器序列的规范方法是什么?

    这是一个关于react redux的新手问题 我花了几个小时四处搜寻才发现 所以我发布了这个问题 然后为后代回答 也可能是代码审查 我正在使用 React Redux 创建一个游戏 我想使用 WASD 键在小地图上移动角色 这只是更大努力的
  • 如何使用 React 制作垂直选项卡

    有人可以为我提供一种使用 React 创建垂直选项卡的方法吗 我尝试了各种npm包 如react web tabs reactstrap和react bootstrap 最后两个只有水平选项卡的示例 React web tabs在其文档中有
  • create-react-app 抛出错误:“package.json 中缺少依赖项”

    所以我尝试运行reactjs官方教程并使用第一行代码 npx create react app react tutorial 我收到以下错误 npx installed 91 in 12 692s Creating a new React
  • 避免对象突变

    我正在使用 React 和 ES6 所以我遇到了以下情况 我有一个带有对象数组的状态假设a id 1 value 1 id 2 value 2 处于以下状态Object A 然后我将列表传递给Object B通过道具 Object B 在构
  • 如何获取 cElementTree 中某个元素的所有文本子元素?

    我正在使用cElementTreePython 中的模块用于获取某个文本的子级XML树 使用text财产 但它似乎只适用于直接文本子项 见下文 python gt gt gt import xml etree cElementTree as
  • 向 ReduxReducer 添加回调

    是否有任何错误 反模式 就 React Redux 中的思考 中添加了一个回调action data转化为行动 reducer ACTION FOR REDUCER var x 123 if action data callback act
  • 运行故事书时出错 - sh: 1: start-storybook: 未找到

    我运行时遇到错误故事书 即使是干净的安装 npm run storybook gt storybook media programmersedge New Volume devs demostorybook gt start storybo
  • 过滤嵌套的 JSON 对象

    我有一个搜索栏 您可以在其中输入员工姓名 它应该根据过滤器返回姓名 我有一个嵌套的 JSON 对象 如下所示 我需要深入了解该对象以访问数组中的员工姓名 您可以看到我尝试实现的多个选项 它们已被注释掉 我的问题是代码没有过滤名称并返回所有名
  • 在React组件中使用的字符串变量中插入html

    我正在为我的投资组合网站构建一个反应应用程序 目前我已经用 JSX 编写了应用程序 因此我可以添加以下内容 class Project extends React Component render return div h1 this pr
  • 如何解决此错误“不要使用对象作为类型”?

    我不明白这个错误消息造成的 我的组件有两个和一个包含对象的数据数组 我收到一条错误消息 不要使用object作为一种类型 这object类型目前很难使用 我该如何解决它 我附加了数组包含对象的数据 first tsx import data
  • 如何在ReactJS中定义常量

    我有一个将文本映射到字母的函数 sizeToLetterMap function return small square s large square q thumbnail t small 240 m small 320 n medium
  • useEffect 中的 setTimeout 函数输出缓存的状态值

    这很简单 我正在使用 Redux 来管理我的状态 我有一个setTimeout函数在一个useEffect功能 The setTimeout超时值为50000ms 我想要 SetTimeout 处理程序做什么 After 50000ms t
  • 如何将 Twitter 小部件嵌入到 Reactjs 中?

    前往 Twitter 小部件网站 https publish twitter com https publish twitter com 我可以获得一个小部件添加到我的网站 我正在使用示例代码来尝试了解它的工作原理 a class twit
  • ReactJS 水平对齐material-ui 元素

    我试图在文本输入旁边有一个单选按钮 这样用户基本上可以输入问题的 答案 并标记一个首选答案 然而 Material UI 将每个都放在自己的行上 这就是我目前所拥有的 div div
  • MUI DatePicker + date-fns 本地化问题

    当我使用MUI时出现这个问题日期选择器 with 本地化提供商 and 适配器日期Fns with 匈牙利 local

随机推荐

  • 数组的索引值

    我有一个 json 文件 其内容如下 aaa status available classkey dotnet bbb ccc com available net available info available org available
  • 如何创建由多次重复的相同字符组成的长度字符串? [复制]

    这个问题在这里已经有答案了 如果我想要一个String s其中包括n字符实例A 这可以在 Java 中更干净地完成吗 public static String stringOfSize int size char ch StringBuil
  • api.jar + impl.jar + bundle.jar 的用途是什么?

    我看到许多Java包都有api impl和bundle jar name api jar name impl jar name bundle jar 有人能解释一下这些是什么意思吗 应用程序需要全部三个吗 这个想法是你可以分离应用程序的依赖
  • 具有变量和多个值的 jQuery .css() 函数

    奇怪的小混乱 我正在使用 jQuery css 使用变量更改文本大小的方法 长话短说 不 我不能使用媒体查询 我需要添加em到它 我不确定语法是什么 因为 CSS 更改有多个值 为了显示 这非常有效 它添加了em到计算值victore h1
  • 使用 CSS 将背景图像设置在列表中的背景颜色之上

    这是代码 ul li class test a href h2 Blah h2 p Blah Blah Blah p a li ul 基本上 我的列表已经有一些样式 例如 我为其设置了背景颜色 现在在 测试 类中 我还设置了背景图像 我的问
  • 在引导程序中使列具有相同的高度

    我在一行中有三列 我希望所有三列具有相同的高度 填充整个空白区域 目前 它看起来像这样 如您所见 左栏是正确的高度 中间和右边没有的地方 它的脚手架看起来像这样 div class container div class row div c
  • 强制 iOS Facebook 应用程序在浏览器中而不是 WebView 中打开提要链接

    在投票 标记之前 请注意已经有类似的问题 但它们都不能使用纯 JavaScript 每当在 iOS 设备上单击 Facebook Feed 上的链接 仅通过 facebook 应用程序 时 它将在 WebView 中打开 而不是在新的浏览器
  • python:我什么时候可以打开生成器的包装? [复制]

    这个问题在这里已经有答案了 它在幕后是如何工作的 我不明白以下错误的原因 gt gt gt def f yield 1 2 yield 3 4 gt gt gt f File
  • 将 SQL CE 4 部署到 IIS 7 - 需要特殊权限吗?

    我有一个使用新 SQL CE 4 CTP 的 ASP NET 4 站点 该站点在本地 Win7 上的 IIS 7 5 运行良好 在 Server 2003 IIS 6 中运行良好 部署到 Server 2008 上的 IIS 7 时失败 我
  • 什么是 |和 << 是什么意思?

    抱歉 如果这是一个常见问题 但我不知道它叫什么 所以我在搜索时遇到了困难 这是如何运作的 view autoresizingMask UIViewAutoresizingFlexibleWidth UIViewAutoresizingFle
  • asp.net web api 2 CORS和身份验证授权配置

    我创建了一个具有个人帐户安全性的 asp net web api 2 服务 我尝试按照以下示例从 AngularJs 中调用它 http www codeproject com Articles 742532 Using Web API I
  • 关于C#中不明确调用的问题

    我有一个问题 虽然不是真正的问题 但让我有点好奇 我有一个类 其中有两种方法 一种是静态方法 另一种是实例方法 这些方法具有相同的名称 public class BlockHeader public static BlockHeader P
  • 使用docker进行谷歌云数据流依赖

    我对使用 Google Cloud Dataflow 并行处理视频感兴趣 我的工作同时使用 OpenCV 和张量流 是否可以只在 docker 实例内运行工作程序 而不是按照所述从源安装所有依赖项 https cloud google co
  • 在 PHP 中将新的键/值对添加到 JSON 中

    我的 MySQL 数据库有一个结果 我用 PHP 进行了 json 编码 结果看起来像 id 8488 name Tenby area Area1 id 8489 name Harbour area Area1 id 8490 name M
  • 如何将库添加到 Xamarin 参考列表

    是否有地方可以放置库 dll 以便它们显示在要选择的项目的引用列表中 我知道我可以从我的个人库中手动添加它们 但是我希望能够将它们添加到可用列表中 因此我所需要做的就是选择它们 我认为会有某种方式来表明它们适用于哪个平台 在 编辑引用 下
  • CefSharp - 获取 HTML 元素的值

    如何使用 CefSharp 获取 HTML 元素的值 我知道如何使用这个默认的 WebBrowser 控件 Dim Elem As HtmlElement WebBrowser1 Document GetElementByID id 但我没
  • 使用 gradle 构建库项目时 BuildConfig.DEBUG 始终为 false

    当我在调试模式下运行应用程序时 BuildConfig DEBUG 不起作用 逻辑上设置为 false 我使用 Gradle 来构建 我有一个图书馆项目 我在其中进行此检查 BuildConfig java 在构建调试文件夹中看起来像这样
  • App Store 下载 dSYM 中缺少 UUID dSYM(更多目标应用程序)

    我在使用 iOS 应用程序 XCode 10 3 时遇到以下问题 Crashlytics 说我缺少 dSYM 并提供了缺少的 dSYM UUID 我缺少必需的和可选的 UUID 该应用程序是BitCode应用程序 dSYM是从AppStor
  • Dygraphs 中的散点图?

    如何使用 dygraphs 绘制散点图 数据如下所示 X 轴可能有 5 20 个值 类别 Y 值可能是 x 轴上每个值 1 10 个值 这是我需要的一个例子 这在 Dygraphs 中可能吗 谢谢 迈克尔 您可以设置 strokeWidth
  • 如何在React js中读取xml文件(data.xml)?

    我尝试读取 xml 文件并解析它react xml parser图书馆 var XMLParser require react xml parser var xml new XMLParser parseFromString xml str