从DataTable写入时如何指定XML输出的格式?

Why*_*pot 3 c# ado.net xsd

在C#中,我使用dataTable.WriteXml(filePath)从DataTable创建XML文件,并获得以下内容:

<?xml version="1.0" encoding="utf-8" ?>
<ExperienceProfiles>
  <ExperienceProfile>
    <Col1>blah</Col1>
    <Col2>4ed397bf-a4d5-4ace-9d44-8c1a5cdb0f34</Col2>
  </ExperienceProfile>
</ExperienceProfiles>
Run Code Online (Sandbox Code Playgroud)

如何让它以下列格式编写XML?:

<?xml version="1.0" encoding="utf-8" ?>
<ExperienceProfiles>
  <ExperienceProfile Col1="blah"
    Col2="blah" ></ExperienceProfile>
</ExperienceProfiles>
Run Code Online (Sandbox Code Playgroud)

jos*_*rry 5

您想要的是告诉DataSet预期数据格式的一些方法.你很幸运,DataSet只支持这个功能.

在编写XML之前,您需要为数据创建XML模式并将其加载到DataSet中.在模式中,将Col1和Col2定义为ExperienceProfile元素的属性,DataSet将知道格式化输出文档以满足模式中指定的要求.

如果您不熟悉创建模式,可以按照希望对其进行格式化的方式创建XML文件的样本,然后查看框架中的XmlSchemaInference类.此类可用于自动生成模式,您可能需要稍微调整输出,但如果您不熟悉XSD,则可以提供帮助.