我有一个复杂的xml,其中列在tbd:ColDef
中定义。在tbd:RepBodyRow
中,填充值时不带标记。我们从上游收到这个消息,并使用python加载数据
我期待以下结果:
Place |Parent |Type
USA |USA |Country
New York |USA |State
NYC |New York |City
Manhattan |NYC |Town....
<?xml version="1.0" encoding="UTF-8"?>
<tbd:Wrapper xmlns:tbd="abc.com/tbd">
<tbd:Root xmlns:tbd="abc.com/tbd">
<tbd:JobCnxt>
<tbd:Job Date="2021-07-02" Country="USA" />
</tbd:JobCnxt>
<tbd:JobRep RepName="Country Data">
<tbd:RepDef>
<tbd:ColDef name="default">
<tbd:ColDefData Name="place" Type="string" DisplayName="Place"/>
<tbd:ColDefData Name="placeType" Type="string" DisplayName="Type"/>
</tbd:ColDef>
</tbd:RepDef>
<tbd:RepBody>
<tbd:RepBodyGroup GroupTypeName="default" GroupDefName="default" GroupDisplayName="">
<tbd:RepBodyGroup GroupTypeName="distinct" GroupDefName="place" GroupDisplayName="USA">
<tbd:RepBodyRow ColDefName="default" IsTotalRow="true">
<tbd:CellData Value="USA"/>
<tbd:CellData Value="Country"/>
</tbd:RepBodyRow>
<tbd:RepBodyGroup GroupTypeName="distinct" GroupDefName="place" GroupDisplayName="New York">
<tbd:RepBodyRow ColDefName="default" IsTotalRow="true">
<tbd:CellData Value="New York"/>
<tbd:CellData Value="State"/>
</tbd:RepBodyRow>
<tbd:RepBodyGroup/>
<tbd:RepBodyGroup GroupTypeName="distinct" GroupDefName="place" GroupDisplayName="NYC">
<tbd:RepBodyRow ColDefName="default" IsTotalRow="true">
<tbd:CellData Value="NYC"/>
<tbd:CellData Value="City"/>
</tbd:RepBodyRow>
<tbd:RepBodyRow ColDefName="default">
<tbd:CellData Value="Manhattan"/>
<tbd:CellData Value="Town"/>
</tbd:RepBodyRow>
<tbd:RepBodyRow ColDefName="default">
<tbd:CellData Value="Bronx"/>
<tbd:CellData Value="Town"/>
</tbd:RepBodyRow>
<tbd:RepBodyRow ColDefName="default">
<tbd:CellData Value="Brooklyn"/>
<tbd:CellData Value="Town"/>
</tbd:RepBodyRow>
<tbd:RepBodyRow ColDefName="default">
<tbd:CellData Value="Queens"/>
<tbd:CellData Value="Town"/>
</tbd:RepBodyRow>
</tbd:RepBodyGroup>
</tbd:RepBodyGroup>
</tbd:RepBodyGroup>
</tbd:RepBodyGroup>
</tbd:RepBody>
</tbd:JobRep>
</tbd:Root>
</tbd:Wrapper>
考虑到相关的地理位置,这种xml没有最合理的结构,而且它使用名称空间的事实也没有帮助。但你可以靠得足够近
另一方面,考虑到结构,没有}中的{},它是一个自治区
USA
行,因为美国在这个意义上没有父实体(作为顶级实体)。此外,仅供参考和FWIW,例如,曼哈顿不是一个{尽管如此:
输出:
这与@jackfleeting的答案类似,但它使用
get()
来获取属性值,而不是直接用xpath选择属性值打印输出
相关问题 更多 >
编程相关推荐