主要内容

writestruct

将结构写入文件

自从R2020b

    描述

    例子

    writestruct (年代文件名将结构写入具有指定的名称和扩展名的文件文件名.的writestruct函数自动将输入结构写入XML文件. xml在?中指定为文件扩展名文件名

    例子

    writestruct (年代文件名名称,值将结构写入具有由一个或多个名-值对参数指定的附加选项的文件。例如,可以将输入结构的内容导出为XML文件,而不考虑中指定的文件扩展名文件名通过调用writestruct(文件名,“文件类型”,“xml”)

    例子

    全部折叠

    从包含XML结构的文本文件创建结构,然后将其写入XML文件。

    该文件music.txt具有以下结构。

    music.png

    阅读文本文件music.txt作为一个结构年代.指定“文件类型”作为“xml”将输入的内容作为XML文件读取。

    S = readstruct(“music.txt”“文件类型”“xml”
    S =带字段的结构:合奏:[1x1 struct]音乐家:[1x1 struct]

    年代到命名为band.xml.显示的内容band.xml

    writestruct(年代,“band.xml”)类型band.xml
    <?xml version="1.0" encoding="UTF-8"?>   Jazz Kool Katz  <乐器类型="wind"> 小号  <乐器类型="打击乐"> 钢琴  <乐器类型="打击乐"> 鼓点  <乐器类型="string"> 低音  < Piano > 低音鼓 低音鼓  high -hat骑钹 立起   <音乐家> <名字角色=“号手”> <文本>Miles  <名字角色=“主唱”> <文本> <名字角色=“钢琴家”> <文本>Diana  <名字角色=“鼓手”> <文本>George  <名字角色=“贝斯手”> <文本>John   

    读取文件music.xml作为一个结构年代

    S = readstruct(“music.xml”
    S =带字段的结构:合奏:[1x1 struct]音乐家:[1x1 struct]

    年代到命名为band.xml.命名根节点JazzBand.显示的内容band.xml

    writestruct(年代,“band.xml”“StructNodeName”“JazzBand”)类型band.xml
    <?xml version="1.0" encoding="UTF-8"?>   Jazz Kool Katz  <乐器类型="wind"> 小号  <乐器类型="打击乐"> 钢琴 < Piano type>concert grand  <乐器类型=" drumkit>低音鼓 Floor tom 小军鼓  high -hat   <乐器类型="string">Bass      <乐手>  Miles   Roger   Diana   George    

    在输入结构中指定要写入输出XML文件中的属性的字段名。

    读取文件music.xml作为一个结构年代.附加后缀“_att”对应于输入XML文件中的属性的输出结构的字段名。

    S = readstruct(“music.xml”“AttributeSuffix”“_att”
    S =带字段的结构:合奏:[1x1 struct]音乐家:[1x1 struct]

    所有元素年代具有关联属性的将具有后缀“_att”附加到属性名。

    查询字段音乐家查看其内容。音乐家一个结构是否包含五个结构,每个结构包含一个名为名字使用一个名为角色

    S.Musicians.Name
    ans =1×5包含字段的struct数组:role_att文本

    年代到命名为band.xml并显示其内容。后缀“_att”已附加到文件中的属性名称。

    writestruct(年代,“band.xml”)类型band.xml
    <?xml version="1.0" encoding="UTF-8"?>   Jazz Kool Katz   wind Trumpet   打击乐 Piano concert grand   打击乐  drum 低音鼓 Floor tom 高帽 Ride铙钹 <乐器> string Bass 立管    <音乐人>  小号 Miles   主唱 Roger   钢琴家 Diana   鼓手 John   
    writestruct(年代,“band.xml”“AttributeSuffix”“_att”

    写结构年代再次到XML文件中,这次指定值“AttributeSuffix”作为“_att”指示输入结构中的哪些字段名要写入属性。显示的内容band.xml.中的属性band.xml没有后缀“_att”

    类型band.xml
    <?xml version="1.0" encoding="UTF-8"?>   Jazz Kool Katz  <乐器类型="wind"> 小号  <乐器类型="打击乐"> 钢琴 < Piano type>concert grand  <乐器类型=" drumkit>低音鼓 Floor tom 小军鼓  high -hat   <乐器类型="string">Bass upright      Miles   Roger   Diana   George    

    输入参数

    全部折叠

    输入结构,指定为MATLAB结构。结构是一种数据类型,使用称为字段的数据容器对相关数据进行分组。

    如果输入结构中的字段包含缺失值或writestruct将字段的内容写入空字符串。

    有关结构的更多信息,请参见结构体

    要写入的文件名,指定为字符向量或字符串标量。如果文件名不存在,则写入函数创建该文件。如果文件名是现有文件的名称,则写入函数将其覆盖。

    根据你要写信的地点,文件名可以变成这些形式之一。

    位置

    形式

    当前文件夹

    要写入当前文件夹,请指定文件的名称文件名

    例子:“myFile.xml”

    其他文件夹

    要写入与当前文件夹不同的文件夹,请在中指定完整或相对路径名文件名

    例子:“C: \ myFolder \ myFile.xml”

    例子:“myFolder \ myFile.xml”

    远程位置

    若要写入远程位置,请指定如下格式的统一资源定位符(URL):

    scheme_name: / /path_to_file/my_file.ext

    根据你所在的位置,scheme_name可以是本表中的值之一。

    远程位置 scheme_name
    Amazon S3™ s3
    Windows Azure®Blob存储 wasbwasbs
    HDFS™ hdfs

    有关更多信息,请参见使用远程数据

    例子:s3: / / bucketname / path_to_file / myFile.xml '

    名称-值参数

    指定可选参数对为Name1 = Value1,…,以=家,在那里名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

    在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

    例子:“StructNodeName”、“RootName”指定用于输出XML文件的根节点的名称。

    文件类型,指定为逗号分隔的对,由“文件类型”其中一个价值观是:

    • “汽车”中指定的扩展名,自动检测要写入的文件格式文件名

    • “xml”—将结构的内容导出为XML文件,而不考虑在文件名

    中指定文件扩展名文件名那不是. xml的值“文件类型”作为“xml”将输入结构的内容写成XML格式。

    例子:“文件类型”,“xml”

    输出XML文件的根节点名称,指定为由逗号分隔的对组成“StructNodeName”和包含输出中使用的根节点名称的字符向量或字符串标量。如果您没有指定StructNodeName时,根节点的默认名称为“结构”

    例子:“StructNodeName”、“RootName”

    属性后缀,指定为逗号分隔的对,由“AttributeSuffix”以及一个字符向量或字符串标量,指示输入结构中的哪些字段名要作为输出XML文件中的属性写入。

    例如,对于字段名AttName_att在输入结构中,可以指定“AttributeSuffix”、“_att”为了表明“AttName”应该作为输出XML文件中的一个属性写出来。

    • 如果您没有指定“AttributeSuffix”writestruct默认使用后缀写入字段“属性”作为输出XML文件中的属性。

    • 属性指定为的值“AttributeSuffix”匹配输入结构中附加到属性名的后缀,则输出XML文件中的属性名将删除后缀。例如,如果您指定“AttributeSuffix”、“_att”的输入结构中的一个字段MyField_att将对应于命名为MyField在XML文件中。

    例子:“AttributeSuffix”、“_att”

    版本历史

    R2020b中介绍

    另请参阅