首先,我们定义一个基础结构体 TestStruct:
<struct name="TestStruct" version="1.0" desc="测试结构体">
<entry name="id" type="int" desc="ID"/>
<entry name="name" type="string" desc="名称"/>
<entry name="value" type="float" desc="值"/>
</struct>
在其他结构体中,我们可以通过 type 属性引用这个结构体:
<struct name="UserProfile" version="1.0" desc="用户资料">
<!-- 通过type属性引用TestStruct结构体 -->
<entry name="basicInfo" type="TestStruct" desc="基本信息"/>
<entry name="createTime" type="datetime" desc="创建时间"/>
<entry name="status" type="int" desc="状态"/>
</struct>
在这个例子中,UserProfile 结构体包含一个 basicInfo 字段,其类型是 TestStruct。
<struct name="OrderRecord" version="1.0" desc="订单记录">
<entry name="orderId" type="string" desc="订单ID"/>
<!-- 引用TestStruct作为订单项的一部分 -->
<entry name="productInfo" type="TestStruct" desc="产品信息"/>
<entry name="quantity" type="int" desc="数量"/>
<entry name="totalPrice" type="float" desc="总价"/>
</struct>
<struct name="ComparisonData" version="1.0" desc="比较数据">
<entry name="beforeChange" type="TestStruct" desc="变更前数据"/>
<entry name="afterChange" type="TestStruct" desc="变更后数据"/>
<entry name="changeTime" type="datetime" desc="变更时间"/>
</struct>
在这个例子中,ComparisonData 结构体两次引用了 TestStruct,分别表示变更前和变更后的数据。
当使用XML解析工具处理这些结构体时,解析器会:
您可以下载完整的示例文件 reference_example.xml 并使用我们的XML解析工具进行测试。