我有一个CSV文件,上面有一个数字列表,其中有空格,比如:
0001
0002
0003
0005
0007
etc.
我有一个XML文件,其中包含带有标识符的节点,带有一个没有空格的数字列表,如:
<?xml version='1.0' encoding='utf-8'?>
<root>
<item>
<unitd>0001</unitd>
<unittitle>description of item 1</unittitle>
</item>
<item>
<unitd>0002</unitd>
<unittitle>description of item 2</unittitle>
</item>
<item>
<unitd>0003</unitd>
<unittitle>description of item 3</unittitle>
</item>
<item>
<unitd>0004</unitd>
<unittitle>description of item 4</unittitle>
</item>
<item>
<unitd>0005</unitd>
<unittitle>description of item 5</unittitle>
</item>
<item>
<unitd>0006</unitd>
<unittitle>description of item 6</unittitle>
</item>
<item>
<unitd>0007</unitd>
<unittitle>description of item 7</unittitle>
</item>
</root> <!-- added by edit -->
我想在XML文件的项目中添加一个额外的元素,这些项目的标识符可以在CSV文件中找到,如下所示:
<root>
<item>
<unitd>0001</unitd>
<unittitle>description of item 1</unittitle>
<link>link to extra info on item 1</link>
</item>
<item>
<unitd>0002</unitd>
<unittitle>description of item 2</unittitle>
<link>link to extra info on item 2</link>
</item>
<item>
<unitd>0003</unitd>
<unittitle>description of item 3</unittitle>
<link>link to extra info on item 3</link>
</item>
<item>
<unitd>0004</unitd>
<unittitle>description of item 4</unittitle>
</item>
<item>
<unitd>0005</unitd>
<unittitle>description of item 5</unittitle>
<link>link to extra info on item 5</link>
</item>
<item>
<unitd>0006</unitd>
<unittitle>description of item 6</unittitle>
</item>
<item>
<unitd>0007</unitd>
<unittitle>description of item 7</unittitle>
<link>link to extra info on item 7</link>
</item>
我可以用python来做这件事吗?有没有更聪明的方法来处理这个问题?你知道吗
处理XML到XML转换的最聪明的方法是使用XSLT,它正是为此而设计的。你知道吗
因此,要将源XML转换为所需的目标XML,可以使用以下XSLT-1.0脚本(名为
trans.xslt
):此模板需要一个额外的XML文件,其中包含来自名为
a_link.xml
的CSV文件的link
的映射。您的CSV文件示例没有显示任何这样的关系,但是将CSV转换为以下格式应该没有问题。你知道吗将上述XSLT应用于XML助手文件的输出是所需的。
所以要在Python中使用它,可以参考to this SO answer,它解释了如何用XSLT转换XML文件。你知道吗
假设您的XML文件名为
input.xml
,代码可能如下所示:现在你应该得到你想要的结果了。你知道吗
相关问题 更多 >
编程相关推荐