1

我尝试使用这个:

xml2结构

当我使用这个 xml 时:

<XMLname attrib1="Some value">
    <Element>Some text</Element>
    <DifferentElement attrib2="2">Some more text</DifferentElement>
    <DifferentElement attrib3="2" attrib4="1">Even more text</DifferentElement>
</XMLname>

我可以创建一个结构:

test = xml2struct('C:\bla\bla.xml');

(用类(测试)测试它)

它看起来像这样:

测试 =

      Name: 'XMLname'
Attributes: [1x1 struct]
      Data: ''
  Children: [1x7 struct]

但我无法访问:

test.XMLname.Element.Text

我得到:

???引用不存在的字段“XMLname”。

有任何想法吗?

4

2 回答 2

1

当我查看您的问题时,我看到了这样的结构

test =

      Name: 'XMLname'
Attributes: [1x1 struct]
      Data: ''
  Children: [1x7 struct]

并尝试读取结构中不存在的组件

test.XMLname.Element.Text

也就是说结构test没有名为的组件XMLname

我错过了一些明显的东西还是你?

于 2012-06-20T15:47:51.223 回答
1

刚刚在 R2010b 上试了一下,效果很好

>> data=xml2struct('bla.xml')
data = 
    XMLname: [1x1 struct]

>> data.XMLname
ans = 
             Element: [1x1 struct]
    DifferentElement: {[1x1 struct]  [1x1 struct]}
          Attributes: [1x1 struct]

您的 matlab 路径上是否有可能有旧版本的 xml2struct?确保which xml2struct为您提供您期望的路径

于 2012-06-20T15:41:07.547 回答