MATLAB社区

MATLAB,社区和更多

在MATLAB中使用XML

Internet上的许多数据都存储在某种类型的XML中。幸运的是,MATLAB有一些用于处理XML文件的内置函数。这将是关于在MATLAB中使用XML的一系列非连续文章中的第一篇。今天,我将描述用于读取、写入和转换XML文件的函数。

MATLAB中有三个函数专门处理XML文件。第一个是xmlread.这个函数接受一个URL或一个文件名,并在工作区中创建一个Java XML对象:

xmlfile = fullfile (matlabroot,“工具箱/ matlab /一般/ info.xml”);xDoc = xmlread (xmlfile)
xDoc = [#document: null]

不要担心返回值会说:【#文档:零】".的xmlread函数返回表示文件的文档对象模型或DOM。“是简单的org.apache.xerces.dom.DeferredDocumentImpl的实现toString ()转储到MATLAB命令窗口。要了解更多关于在MATLAB中与Java对象交互的信息,请参见我的前一篇文章

为了确保这个对象包含我们所有的XML文本,让我们使用下一个MATLAB XML函数:xmlwrite.没有其他的争论,xmlwrite将在命令窗口中显示DOM的内容:

xmlwrite (xDoc)
ans = < ?xml version = " 1.0 " encoding = " utf - 8 " ?>   14 MATLAB  MATLAB ApplicationIcon。MATLAB $docroot/techdoc  com.mathworks. mode .editor. com.mathworks. mode .editor. com.源EditorOptions < / > < / dialogpref_registrar > < !——为了简洁起见,删去.....——> < /列表> < / productinfo >

当然,你也可以用xmlwrite将XML文档保存到磁盘,方法是调用xmlwrite签名如下:

xDoc xmlwrite(输出文件)

有一个问题xmlread因为创建的DOM对象是一个Java对象,所以它被存储在Java内存中。为Java预留的内存数量取决于系统,但通常在64到256 MB之间。这意味着,如果你读取一个200MB的XML文件,你将耗尽内存,不管MATLAB说有多少可用的空闲主存。在这种情况下,您只需要调整Java可用的内存量新的偏好面板

MATLAB提供的最后一个XML函数处理XML文档的转换XSL样式表.的xslt函数接受指定XML文档的DOM对象、文件名或url、指定XSL样式表的文件名或url以及输出目的地,并执行转换。使用样式表是非常复杂的,所以我不打算在这里深入研究它们。

下一次,我将讨论DOM对象本身以及如何添加、删除和查询节点。

|
  • 打印
  • 发送电子邮件

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。