将XML文件转换为CSV

ske*_*rit 1 xml csv xslt

在使用正则表达式转换混乱的XML后,我现在需要再次更改它.这个源文件

<product>
    <sku>SP00001</sku>
    <PID_OWNER_SellerID>StoreName</PID_OWNER_SellerID>
    <EANCode>8711983489813</EANCode>
    <DeliveryDays>2</DeliveryDays>
</product>
Run Code Online (Sandbox Code Playgroud)

必须成为CSV文件,但是像这样:

sku        field                 value
SP00001    PID_OWNER_SellerID    StoreName
SP00001    EANCode               8711983489813
SP00001    DeliveryDays          2
Run Code Online (Sandbox Code Playgroud)

我认为这是在正则表达式的范围之外,必须用XSL完成?

Ben*_*ler 6

尝试使用正则表达式解析XML通常是一个坏主意,因为有一种无限的方式来格式化结构相同的XML文档,但是会破坏你的正则表达式.

对于非大规模的文件,一定要使用XSL,记住指定'text'作为输出方法.不要忘记,如果必须,您可以以编程方式调用XSL进程 - 大多数语言都允许您这样做.

对于大文件,请考虑编写一个使用流API的小程序(例如SAX或其中一个推送解析器API).