Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用C将标记从XML提取到XLS#_C#_Xml_Xls - Fatal编程技术网

C# 如何使用C将标记从XML提取到XLS#

C# 如何使用C将标记从XML提取到XLS#,c#,xml,xls,C#,Xml,Xls,我有一个将XML转换为XLS的实用程序,我能够提取实际数据,但我似乎不知道如何将标记名动态提取为列名 我有类似这样的XML(但它可以是具有不同名称标记的任何其他XML。我可以将ProjectXYZ、ABC和12345678提取到XLS中的3列中,但我也想提取标题、部门和ID <ProjectDetails> <Project> <Title>ProjectXYZ</Title> <Division>ABC</D

我有一个将XML转换为XLS的实用程序,我能够提取实际数据,但我似乎不知道如何将标记名动态提取为列名

我有类似这样的XML(但它可以是具有不同名称标记的任何其他XML。我可以将ProjectXYZ、ABC和12345678提取到XLS中的3列中,但我也想提取标题、部门和ID

<ProjectDetails>
  <Project>
    <Title>ProjectXYZ</Title>
    <Division>ABC</Division>
    <ID>12345678</ID>
  </Project>
</ProjectDetails>

ProjectXYZ
基础知识
12345678


  • =

似乎是您正在寻找的,它返回标记名和内容

结果是:

  • Title=ProjectXYZ
  • 分部=ABC
  • ID=12345678

您可能想发布一些已经在使用的代码(以最简单的完整形式):您使用什么API:流式XmlReader、XmlDocument、XPathDocument、XDocument/XElement或其他什么?您可以使用DataSet ReadXml()方法自动执行所有操作。
XLS
!=
XSL
.OP使用C#。
<html>
  <head />
  <body title="Personnel">
    <p>
      <xsl:for-each select="ProjectDetails">
        <xsl:for-each select="Project">
          <xsl:for-each select="*">
              <ul>
                <li>
                  <xsl:value-of select="name(.)"/> =
                  <xsl:for-each select="text()">
                    <xsl:value-of select="." />
                  </xsl:for-each>

               </li>
             </ul>
        </xsl:for-each></xsl:for-each>
      </xsl:for-each>
    </p>
  </body>
</html>