C# XSLT将xml转换为csv,并对每个记录重复一个同级
以下是用作源的XML文件:C# XSLT将xml转换为csv,并对每个记录重复一个同级,c#,xml,xslt,C#,Xml,Xslt,以下是用作源的XML文件: <?xml version="1.0" encoding="UTF-8" ?> <billing-log> <log-start-date>2012-08-17T00:00:00-05:00</log-start-date> <player-name>Player1</player-name> <schema-version>1</schema-version>
<?xml version="1.0" encoding="UTF-8" ?>
<billing-log>
<log-start-date>2012-08-17T00:00:00-05:00</log-start-date>
<player-name>Player1</player-name>
<schema-version>1</schema-version>
<player-uuid>12345</player-uuid>
<log-end-date>2012-08-17T23:59:59.999-05:00</log-end-date>
<entry>
<page>Page1</page>
<path>Path1</path>
<in>2012-08-16T23:59:52.170-05:00</in>
<out>2012-08-17T00:00:00.186-05:00</out>
</entry>
<entry>
<page>Page2</page>
<path>Path2</path>
<in>2012-08-17T00:00:00.186-05:00</in>
<out>2012-08-17T00:00:08.561-05:00</out>
</entry>
</billing-log>
它产生的结果是:
"Page1","Path1","2012-08 16T23:59:52.170-05:00","2012-08-17T00:00:00.186-05:00"
"Page2","Path2","2012-08-17T00:00:00.186-05:00","2012-08-17T00:00:08.561-05:00"
我想要的是在日志结束日期的同级节点值之前添加一个条目节点的记录。因此,输出将如下所示:
"2012-08-17T23:59:59.999-05:00","Page1","Path1","2012-08 16T23:59:52.170-05:00","2012-08-17T00:00:00.186-05:00"
"2012-08-17T23:59:59.999-05:00","Page2","Path2","2012-08-17T00:00:00.186-05:00","2012-08-17T00:00:08.561-05:00"
任何帮助都将不胜感激。只需添加:
<xsl:value-of select="concat('"',normalize-space(../log-end-date),'"')"/>
作为
条目
模板的第一个子项,它工作得非常好!非常感谢你。这是我的第一个xslt项目,我遇到了一个非常紧迫的期限。@user1813171-非常欢迎您。请考虑通过点击旁边的复选框来接受这个答案。谢谢
"2012-08-17T23:59:59.999-05:00","Page1","Path1","2012-08 16T23:59:52.170-05:00","2012-08-17T00:00:00.186-05:00"
"2012-08-17T23:59:59.999-05:00","Page2","Path2","2012-08-17T00:00:00.186-05:00","2012-08-17T00:00:08.561-05:00"
<xsl:value-of select="concat('"',normalize-space(../log-end-date),'"')"/>