2012-05-17 44 views
2

我想創建自定義的NANT文件。爲此,我使用C#使用來自用戶的輸入創建「.build」文件,我希望創建一個自定義構建。我已經有了一個構建文件,但是每次我創建一個新項目時,我都必須創建一個新的構建文件,因此我只想將一些信息輸入到C#表單中,然後該文件就會自動生成。用C創建一個自定義的NANT文件#

我試圖與XmlTextWriter的巫婆工作正常,我的構建文件的標題,但我得到的問題,當我到達一行:

<property name= "name" value = "test"/> . 

隨着XmlTextWriter的線路是這樣的:

<description>This is a test.</description> . 

所以我想知道我怎麼寫我的南特腳本。

它並不必須與XmlTextWrite ...

  • 編輯 -

我找到了一種方法:

textWriter.WriteRaw("<property name = \"project.name\" value=\"" + projectName + "\" />"); 

結果:

<property name = "project.name" value="test" /> 

我有t o輸入「原始」,但總比沒有好。我仍然樂意以更好的方式來做到這一點!

謝謝!

+0

如果什麼項目名中有特殊字符...如>,<,&,」,」等嘗試使用內置?在像XmlTextWriter這樣的類中(正如你所提到的那樣),因爲它會爲你逃脫 – jglouie

+0

WriteRaw需要特殊字符,但是你的回答仍然是一個更好的方法來做到這一點 – LolCat

回答

3

我強烈建議不要使用非XML特定的文本編寫器來手動創建自己的XML。這會導致逃跑角色的痛苦,等等。

我可能會錯過一些東西,但您應該可以使用XmlTextWriter。這是未經測試,但你應該得到的總體思路:

XmlTextWriter writer = new XmlTextWriter(...); 

writer.StartDocument(); 

writer.WriteStartElement("property"); 
writer.WriteAttributeString("name", "project.name"); 
writer.WriteAttributeString("value", projectName); 
writer.WriteEndElement(); 

writer.EndDocument(); 
writer.Close(); 
+0

這很有效,謝謝你,先生! – LolCat

+0

否問題,祝你好運 – jglouie

+0

也取決於你的目標是什麼,你可能成功地滾動你自己的nant擴展而不是動態生成構建文件 – jglouie

相關問題