如何在C#中編寫自定義解析器來解析由自定義標記格式化的TEXT文件? WITHOUT使用XML /第三方利布斯在C#中解析NON-XML語法化的TEXT文件
[product]
*name*Name1*/name*
*cost*100*/cost*
[/product]
[product]
*name*Name2*/name*
*cost*120*/cost*
[/product]
...
我試圖解析它,我可以存儲「名稱1」和「名稱2」中的字符串的方式等
如何在C#中編寫自定義解析器來解析由自定義標記格式化的TEXT文件? WITHOUT使用XML /第三方利布斯在C#中解析NON-XML語法化的TEXT文件
[product]
*name*Name1*/name*
*cost*100*/cost*
[/product]
[product]
*name*Name2*/name*
*cost*120*/cost*
[/product]
...
我試圖解析它,我可以存儲「名稱1」和「名稱2」中的字符串的方式等
這裏有一個哈克的方式來做到這一點。
讓我只給你一些關於這個非常 hacky解決方案的一般準則。
我看到您的格式與XML非常相似。因此,您可以循環訪問字符串並保留一個布爾變量flag
,用true
進行初始化。
For each character in the string,
if it is a `[`, replace it with `<`.
If it is a `]`, replace it with `>`.
If it is a `*`, check the flag.
If the flag is true, replace it with `<`.
If the flag is false, replace it with a `>`.
Then, flag = !flag;
現在您已經有了一個xml表示法。您可以使用內置於.NET Framework中的XML解析器來解析它。沒有使用第三方庫!輸入文本仍然是原始格式,不會更改爲XML!
REQUIREMENT MET!
我真的沒有看到創建自己的解析器。只需使用XML甚至JSON!爲什麼你想首先發明一種全新的格式?這是某種任務還是什麼? – Sweeper
是的,這是某種作業。一些幫助會很好,而不是要求我再次使用XML或JSON。如果可以的話,我已經擁有了。 – Sam
@Shaharyar什麼?如果這就是你要求的,我在第二和第四個產品中有一個關閉每個產品組的產品。 – Sam