C# C-以编程方式操作文本文件

C# C-以编程方式操作文本文件,c#,.net-core,C#,.net Core,我正在编写一个生成结构化文本文件的后端API。根据用户输入,通过插值填充某些字符串 // actual string literal string message = $@"Version {version} of Markdown Monster is now available. Released on: {releaseDate:MMM dd, yyyy} {newStuff} "; 我创建了一个100 LOC的文本文件,用传递的JSON值填充所需的内容 有时只需要文本文件的部分。

我正在编写一个生成结构化文本文件的后端API。根据用户输入,通过插值填充某些字符串

// actual string literal
string message = $@"Version {version} of Markdown Monster is now available.

Released on: {releaseDate:MMM dd, yyyy} 
{newStuff}
";

我创建了一个100 LOC的文本文件,用传递的JSON值填充所需的内容

有时只需要文本文件的部分。如果需要,如何标记要生成的文本部分并为其赋值?有很多可能的排列,大约30个不同的文本文件将由模板生成

因此,想象一个XML文件,并在您的头脑中将其分解为30个独立的部分。通过任意用户输入以编程方式按一定顺序放置一定数量的工件

//piece A
<?xml version = "1.0" encoding = "utf-8"?>

<!-- planes.xsd
 A simple schema for planes.xml
 -->
//piece b
<xsd:element name = "planes">
    <xsd:complexType>
        <xsd:all>
            <xsd:element name = "make"
                         type = "xsd:string"
                         minOccurs = "1" 
                         maxOccurs = "unbounded" />
        </xsd:all>
    </xsd:complexType>
 </xsd:element>
</xsd:schema>

//piece C
lorem ipsosume....

格式和缩进也必须保留。

你可以使用razor——它是一个文本模板引擎,专门用于做这类事情。此问答包含有关使用它的信息:

我不明白你所说的节、标记化等是什么意思。请举例说明。如果用户触发了文本出现在可交付成果上的标志,请将部分文本放在块1977 Cessna Skyhawk浅蓝色和白色中。上面的代码是块A,所以如果我有30个左右的标志,块A可能会出现,但有时块B或C会以某种顺序出现。希望这能把事情弄清楚。@Klausgutter对不起,这对我来说再清楚不过了me@KlausG希望你能把它弄清楚