提问人:TheMostEpic 提问时间:11/17/2023 最后编辑:TheMostEpic 更新时间:11/17/2023 访问量:47
如何在Arduino中正确解析XML文档?[关闭]
How to parse an XML document correctly in Arduino? [closed]
问:
我正在尝试在 ESP32 (Arduino) 中解析 XML 文档。XML 是从具有 HTTPClient 的网站接收的 getString 方法。如果我将 String 有效负载打印到控制台,似乎没问题。我正在尝试解析文档 tinyxml2 库的 XMLDocument 对象:https://github.com/leethomason/tinyxml2。 该参数必须是类型“const char*”。在以下代码中,它显示错误。 我对 C/C++ 和指针没有太多经验。需要改变什么?
#include <HTTPClient.h>
#include <tinyxml2.h>
...
String payload = http.getString();
char payloadChar[payload.length() + 1];
payload.toCharArray(payloadChar, payload.length() + 1);
XMLDocument xmlDocument;
if(xmlDocument.Parse(payloadChar)!= XML_SUCCESS){
Serial.println("Error parsing");
return;
};
20:32:47.616 -> Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
20:32:47.657 ->
20:32:47.657 -> Core 1 register dump:
20:32:47.657 -> PC : 0x400d899b PS : 0x00060d30 A0 : 0x800d30c1 A1 : 0x3ffca0d0
20:32:47.657 -> A2 : 0x00000000 A3 : 0x3ffcaf88 A4 : 0x3ffe63d1 A5 : 0x00000000
20:32:47.657 -> A6 : 0x0000000c A7 : 0x00000140 A8 : 0x800d9230 A9 : 0x3ffca0b0
20:32:47.657 -> A10 : 0x3ffcafdc A11 : 0x3ffcb030 A12 : 0x00000e7d A13 : 0x3ffe63d0
20:32:47.657 -> A14 : 0x0000003e A15 : 0x75636f44 SAR : 0x00000015 EXCCAUSE: 0x0000001c
20:32:47.657 -> EXCVADDR: 0x0000001c LBEG : 0x400d80e0 LEND : 0x400d80e7 LCOUNT : 0x00000000
20:32:47.698 ->
20:32:47.698 ->
20:32:47.698 -> Backtrace: 0x400d8998:0x3ffca0d0 0x400d30be:0x3ffca0f0 0x400db0bd:0x3ffcb310
20:32:47.698 ->
20:32:47.698 ->
20:32:47.698 ->
20:32:47.698 ->
20:32:47.698 -> ELF file SHA256: 4b2b5883b6b43d05
答: 暂无答案
评论