使用了Unreal提供的XmlParser库来解析Xml文件。然后把解析到的内容填充到定义好的结构体内。该方式是以蓝图Structure来定义结构。
使用:
一个简单的xml文件
<?xml version="1.0" encoding="UTF-8"?>
<test>
<testa id="0" name="aaaaaaa" other="other">
<testb id="0" name="a000" desc="wef">
acontent
</testb>
<testb id="1" name="a111" desc="ewfwe"></testb>
<testb id="2" name="a222" desc="456fwe"></testb>
<testb id="3" name="a333" desc=""></testb>
</testa>
<testa id="1" name="bbbbbbb" other="">
<testb id="0" name="b000" desc=""></testb>
<testb id="1" name="b111" desc="fewfwe"></testb>
<testb id="2" name="b222" ></testb>
<testb id="3" name="b333" desc=""></testb>
</testa>
</test>
蓝图Structure定义:
testb节点定义:
testa节点定义:
整个xml的节点定义:
注意:定义结构体有几个注意点。
1.attribute的参数名直接以xml里的名称定义(区分大小写)。
2.子节点的参数名以childNode定义(不区分大小写)定义成数组。
3.内容文本的参数名以content定义(不区分大小写)。
4.childNode数组也不用填值,会按照xml的子节点数量填入
测试:
结果:
代码:
代码看不明白可以参考我之前一篇Json读写的,里面有一些解释