簡體   English   中英

獲取XML文件並轉換為長字符串以進行c#編碼

[英]Take XML file and turn into long string for c# coding

是否有任何技巧或實用程序可以獲取XML文件並將文件轉換為長字符串以在c#代碼中使用? 我不想手動復制和粘貼XML文件中的每一行。 我希望文件中的每一行都是我的c#代碼中的字符串行,然后在行的末尾有一個“+”。

它不是一個編程問題,但這里是你正在尋找的: http//inedo.com/downloads/smartpaster

使用你的編輯器

您可以將XML粘貼到Visual Studio中的新文件中,並使用正則表達式search-and-replace來修復文檔。

  • 轉義引號和其他導致問題的字符
  • 追加"到行的開頭和結尾, +到行的末尾。

然后你只需要返回並在開頭添加一個變量名,最后添加一個分號,然后將其粘貼到源代碼文檔中。

從那里,您可以選擇通過編輯 - >高級 - >格式文檔重新格式化源代碼文檔(以便很好地縮進)。

這里的另一個選擇是通過在第一個引用之前附加@來使用逐字字符串文字。 然后將維護換行符,您可以使用""而不是\\"來轉義引號。

重新思考你的問題

存儲在字符串中的XML文件有點難以編輯,並且無法實現XML的一部分 - 人類可編輯。 要解決此問題,您可以考慮將XML添加到項目中

  • 您可以將其作為內容添加到項目中,並在文件上設置屬性以將其復制到構建目錄。 然后使用適當的XmlDocument從文件加載方法,或簡單地使用File.ReadAllText

這里的優點(也可能是缺點)是你可以在編譯后編輯文件。 缺點是您必須將Xml文件與程序集一起部署。

  • 您可以將XML作為嵌入式資源添加到項目中。 然后,您可以使用Assembly.GetManifestResourceStream從文件中獲取數據。

缺點(也可能是優勢)是您無法在編譯后編輯文件。 優點是您不必將Xml文件與程序集一起部署。

這樣做使開發人員編輯文件比將Xml塞進字符串文字更容易。

將一個大文件作為字符串文字嵌入到C#代碼中是一個非常糟糕的主意。 將單獨的行與+運算符連接起來是一個特別糟糕的主意, 因為字符串是不可變的,並且您將創建一個極其拋棄的字符串對象,然后 克里斯指出編譯器將在編譯時執行文字串聯。

您只需將XML行讀入為包含單行的字符串:

string my_string = File.ReadAllText("xmlfile.xml");

如果您正在嘗試將數據文件嵌入到項目的exe中,那么您可以使用項目的資源來實現。

你不能只將XML的路徑發送到File.ReadAllText(路徑)嗎?

string xmlContent = System.IO.File.ReadAllText(pathToXML);

獲得一個字符串數組也可以這樣做......

string[] xmlContent = System.IO.File.ReadAllLines(pathToXML);
string fileContent = File.ReadAllText(pathToFile))
                         .Replace(Environment.NewLine, "+");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM