使用c#将XML转换为csv

本文关键字:csv 转换 XML 使用 | 更新日期: 2023-09-27 18:08:37

我在一个应用程序上工作,我点击上传按钮,我选择xml文件,我想那一次我点击按钮生成csv,我想要的文件生成下面是一个XML文件

的示例
<?xml version="1.0" encoding="utf-8"?>
<W-TIBCPTRs>
  <W-TIBCPTR>
    <TYPTRT>FDR2 R</TYPTRT>
    <CLAFCNO VALIDE="NON">5b1</CLAFCNO>
    <NUMCLI>0067781</NUMCLI>
    <TYPACT>D</TYPACT>
  </W-TIBCPTR>
  <W-TIBCPTR>
    <TYPTRT>FDR2 R</TYPTRT>
    <CLAFCNO>511</CLAFCNO>
    <NUMCLI>0068078</NUMCLI>
    <TYPACT>D</TYPACT>
  </W-TIBCPTR>
</W-TIBCPTRs>

使用c#将XML转换为csv

您正在寻找类似于以下代码片段的内容,但是该转换在节点属性

方面存在一些问题
string p = "<?xml version='"1.0'" encoding='"utf-8'"?>" +
                  "<W-TIBCPTRs>" +
                    "<W-TIBCPTR>" +
                      "<TYPTRT>FDR2 R</TYPTRT>" +
                      "<CLAFCNO VALIDE='"NON'">5b1</CLAFCNO>" +
                      "<NUMCLI>0067781</NUMCLI>" +
                      "<TYPACT>D</TYPACT>" +
                    "</W-TIBCPTR>" +
                    "<W-TIBCPTR>" +
                      "<TYPTRT>FDR2 R</TYPTRT>" +
                      "<CLAFCNO>511</CLAFCNO>" +
                      "<NUMCLI>0068078</NUMCLI>" +
                      "<TYPACT>D</TYPACT>" +
                    "</W-TIBCPTR>" +
                  "</W-TIBCPTRs>";
      XDocument doc = XDocument.Load(p);
      var sb = new System.Text.StringBuilder();
      foreach (var o in doc.Descendants("W-TIBCPTR"))
      {
        var TYPTRT = o.Element("TYPTRT").Value;
        var CLAFCNO = o.Element("CLAFCNO").Value;
        var NUMCLI = o.Element("NUMCLI").Value;
        var TYPACT = o.Element("NUMCLI").Value;
        sb.AppendLine(string.Format("{0},{1},{2},{3}", TYPTRT, CLAFCNO, NUMCLI, TYPACT));
      }