使用多个 headers Talend 解析 xml

Parsing xml with multiple headers Talend

我正在尝试读取 xml 收到的数据,其中有多个 header

示例:

<?xml version="1.0" encoding="utf-8"?>                         
 <RepeaterData>
<Version />
<Items>
    <Item>
        <year>2017</year>
        <Additional>
            <?xml version="1.0" encoding="utf-8"?>
            <RepeaterData>
                <Version />
                <Items>
                        <Name>toto</Nom>
                </Items>
            </RepeaterData>
        </AdditionalCharge>
    </Item>
    <Item>
        <year>2018</year>
        <Additional >
            <?xml version="1.0" encoding="utf-8"?>
            <RepeaterData>
                <Version />
                <Items>
                    <Item>
                        <element type="System.String">3</Sousdept>
                        <Name type="System.String">toto</Nom>
                        </Item>
                    <Item>
                        <element type="System.String">3</Sousdept>
                        <Name type="System.String">tata</Nom>
                        </Item>
                </Items>
            </RepeaterData>
        </Additional>
    </Item>
</Items>

我也尝试用 StringHandling.EREPLACE ( b ,"<?xml version=1.0 encoding=utf-8?>",""); 删除 xml header 但它不起作用

请帮忙!!!!

这是一个快速但肮脏的解决方案。使用 tReplace 从您的输入中删除所有 xml header,并将结果写入您已经写入 xml header 的文件(因为你的第一个 header 已被删除。

tFileInputFullRow_1 将是您的 tRestClient.

tFileInputDelimited_2 包含 xml header 由 tFixedFlowInput_1 编写。

tFileOutputDelimited_1Append 模式下写入与 tFileOutputDelimited_2 相同的文件。

然后您可以阅读生成的 xml 文件。