问题标签 [mini-xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4215 浏览

c - 使用 MiniXML 在 C 中解析 XML 文件

我正在使用 MiniXML 库在 C 中解析 XML 文件,但是当我尝试读取节点的值时,它返回 NULL。

这是代码:

问题是 node->value.text.string 为 NULL。我一直在阅读文档,但我不知道我做错了什么。有没有人遇到过这个问题?

0 投票
1 回答
1279 浏览

c++ - C++:解析 XML 文件时出现问题(MXML 库)

我对以下代码有疑问。

它使用 Mini-XML 库从 xml 文件中提取元素。

它编译并运行良好,除了它无法获取最后一个“半径元素”,而是返回 NULL(如果我不检查子节点是否不为 NULL,它会崩溃)。

}

这是有问题的 XML 文件的一部分:

这段代码有什么问题?

0 投票
2 回答
2121 浏览

c++ - C++:使用 Mini-XML 从 XML 文件加载长字符串时遇到问题

我正在使用 Mini-XML 库来解析 XML 文件。

我几乎可以加载每个元素和属性,但是在加载长字符串时遇到了麻烦。

这是代码的相关部分:

这是我需要解析的一个元素:

我只从描述标签中得到第一个单词。

为什么?

编辑 1:我尝试切换到 std::string,但 MiniXML 库返回一个 const char*,它显然不能容纳这么长的字符串。

有什么建议么?

编辑 2:我将回调更改为 OPAQUE,以便它忽略空格,但现在它只返回 NULL。

编辑 3:我现在更改了获取 value.opaque 而不是 value.text.string 的方法。这使得“description”标签工作得很好,但是当我尝试将它加载到 const char* 时,“bar”标签仍然崩溃。我尝试从 xml 文件中删除引号等,以查看是否是导致它的原因,但它没有帮助。

编辑 4:我什至删除了除一个“资产”对象之外的所有对象,然后删除了它的“栏”元素,但它仍然崩溃。这绝对是奇怪的!

编辑 5:好的,我隔离了问题代码:

但是,我已将此集成到一个方法中,与我用于描述元素(直接位于它之前)的方法相同,并且效果很好。怎么了?

编辑 6:奇怪的是,当我将搜索字符串更改为“bar”时,它会优雅地失败(即返回 NULL)。只有当我将其更改为“bar”(我需要的元素)时,它才会崩溃。这是保留关键字还是mini xml不喜欢的东西?!

编辑 7:终于!弄清楚了。我将 MXML_DESCEND 更改为 MXML_DESCEND_FIRST,它工作正常。哇!!!!终于解脱了。多谢你们!

0 投票
1 回答
1031 浏览

c - MiniXML:在 C 中解析 xml

我正在使用 Minixml 在 C 中解析一个 xml 文件。我想从这个小例如获取值“check-time”、“check-key”等。文件:

这是我的代码。我不知道如何使用标签提取数据。请帮忙。为什么 subnode->next 不显示下一个实例值?

0 投票
1 回答
744 浏览

c - minixml 未定义对“mxmlNewXML”的引用

我在将 minixml 库拉入我的项目时遇到问题。

我在这里遵循了 minixml 页面上的文档http://www.minixml.org/documentation.php/install.html

安装没有错误,我在 /usr/local/include/mxml.h 中看到了 .h 文件,在 /usr/local/lib/libmxml.a 中看到了程序集文件

我已经包含了 mxml.h#define<mxml.h>并且发现该文件没有问题(因为迷你 xml 类型没有错误,例如 mxml_node_t 等......

我也一直在使用 -lmxml 编译标志进行编译以链接库。

这是我如何调用与原型匹配的函数:

0 投票
2 回答
7213 浏览

c - miniXML 解析 C API

我正在尝试解析以下 XML 文件:

我正在使用以下 C 代码:

如何访问根的孩子?我的访问概念在哪里是错误的?

谢谢你。


在@RutgersMike 回复后编辑

我扩展了您的 while 循环以尝试理解 minixml 的概念:

结果是:

我觉得这种在孩子和父母之间导航的概念有点奇怪。为什么兄弟姐妹之间有(空)值?

我正在考虑回到ezxml。

谢谢

0 投票
1 回答
487 浏览

c - mxmlDelete() 用法

我使用mxml库来解析 C 语言中的 XML 文件。我使用以下代码将我的 XML 加载到缓冲区中:

XML 文件很复杂,但目前这无关紧要。

我的问题是:什么时候应该释放 mxml 库函数使用的内存?

一劳永逸地使用这样的代码是否足够:

或者我必须对我的每个节点重复这一点,XML.(mxmlDelete(node1);mxmlDelete(node2);直到我到达mxmlDelete(tree);

0 投票
2 回答
550 浏览

c++ - 如何让 minixml 数据的呈现更具可读性?

我在我的 C 程序中使用 minixml。当我将 minixml 树保存到具有该mxmlSaveFile(bkp_tree, fp, MXML_NO_CALLBACK);功能的文件中时,我将整个 xml 数据放在一个 bloc 中。在文件中显示 xml 结构时没有组织(新行,缩进...)。

xml数据就是这样保存的

如何使 minixml 以下列方式保存 xml 数据?

0 投票
1 回答
300 浏览

c - How to read xml value with space

I write an xml document like this:

I try to parse this document with minixml library :

When I parse the file I found this result:

Have you an idea, how to solve my problem?

0 投票
1 回答
461 浏览

c - txt 值包含空格时的 minixml 问题

我有以下 xml 文件:

如果我用 加载 mxml 节点树中的 xml 文件mxmlLoadFile(),那么我将在MXML_ELEMENTMXML_TXT下获得 3 个子节点。tag每个孩子都包含一个子字符串。

  • 第一个 TXT 孩子包含"text"
  • 第二个 TXT 孩子包含"with"
  • 第三个 TXT 子包含"space"

我没有得到只有 1 个包含整个字符串的孩子"text with space"

有没有办法(在负载中)将整个字符串保存在只有一个孩子中?

如果不。有没有返回整个字符串的函数"text with space"