我需要經常創建XML文件,我選擇XmlWrite來完成這項工作,我發現它在WriteAttributeString(我需要在某些情況下需要寫很多屬性)這類東西花了很多時間,我的問題是有沒有更好的方法來創建XML文件?提前致謝。什麼是寫XML的最快方法
回答
通過例如FileStream
(通過手動創建的代碼)將其直接寫入文件。這可以做得很快很快,但也很難維護。一如往常,優化帶有獎品標籤。
你只需要定義你想序列類層次結構,僅此而已。另外,您可以通過應用於屬性的一些屬性來控制架構。
使用匿名類型和序列化到XML是一個有趣的方法爲mentioned here
的最快方法:
string str =
@"<?xml version=""1.0""?>
<!-- comment at the root level -->
<Root>
<Child>Content</Child>
</Root>";
XDocument doc = XDocument.Parse(str);
Console.WriteLine(doc);
現在您將擁有一個結構化且可隨時使用的XDocument對象,您可以在其中填充數據。此外,您甚至可以將完全結構化並填充的XML解析爲字符串,並從此處開始。您也可以隨時使用結構化XElements這樣的:
XElement doc =
new XElement("Inventory",
new XElement("Car", new XAttribute("ID", "1000"),
new XElement("PetName", "Jimbo"),
new XElement("Color", "Red"),
new XElement("Make", "Ford")
)
);
doc.Save("InventoryWithLINQ.xml");
這將產生:
<Inventory>
<Car ID="1000">
<PetName>Jimbo</PetName>
<Color>Red</Color>
<Make>Ford</Make>
</Car>
</Inventory>
因爲您無法在運行時檢測到結構錯誤和拼寫錯誤,所以我沒有發現這種效率。 – Antoine 2011-04-18 13:23:38
然後,您可以使用示例中的結構化XElement對象。 – 2011-04-18 13:38:58
是多少多少時間...是10毫秒,10秒或10分鐘......和寫一個Xml的整個過程有多少是?
不是說你不應該優化,而是你想花費多少時間來優化這個過程的一小部分。最後,你想要走得越快,在這種情況下(個人觀點)就越複雜。
我個人喜歡使用XmlDocument
類型。編寫節點時仍然有點沉重,但屬性是單行的,並且使用Xmlwrite簡單得多。
- 1. ReadProcessMemory最快的方法是什麼?
- 2. 什麼是解析XML的最快方法?
- 3. 在iPhone上寫大文件的最快方法是什麼?
- 4. 什麼是寫xslt -fo出xsl + xml的最好方法
- 5. 迭代HashSet的最快/最安全的方法是什麼?
- 6. 什麼是最快的方案實施?
- 7. 用C學習GLADE的最佳/最快方法是什麼?
- 8. 什麼是最快的方式來寫linq
- 9. 矩陣乘法的最快方法是什麼?
- 10. 算法:什麼是檢查集合包含的最快方法?
- 11. ANTLR:得到語法樹的最快方法是什麼?
- 12. 做整數除法的最快方法是什麼?
- 13. 什麼是反序列化和序列化xml文檔的最快方法?
- 14. 在XML中查找和刪除重複節點的最快方法是什麼?
- 15. 將大量數據從內存寫入文件的最快方法是什麼?
- 16. 什麼方法會讓python算最快?
- 17. 什麼是計算32的冪對數的最快方法?
- 18. 什麼是MySQL的最快的方法來檢查外國REFFERENCE
- 19. 什麼是複製我的陣列的最快方法?
- 20. 找到n個數字的gcd最快的方法是什麼?
- 21. ping IP地址的大名單的最快方法是什麼?
- 22. 真正的sinatra(ruby/rack)after_filter最快的方法是什麼?
- 23. 什麼是簡單合併文件的最快捷方式,什麼是分割數組的最快捷方式?
- 24. 什麼是將60m記錄導入SQL的最快方法
- 25. 什麼是xslt中替換的最佳(更快)方法
- 26. 什麼是繪製線陣列的最快方法?
- 27. 什麼是iOS上最快的繪圖方法?
- 28. 在C中旋轉bmp圖像的最快方法是什麼?
- 29. 替換DOM元素(jQuery)的最快方法是什麼?
- 30. 獲取MethodBase對象的最快方法是什麼?
您是否瞭解XML序列化?實例化一個類型,填充屬性,然後序列化它以創建一個表示對象狀態的XML文檔。 – Cheeso 2011-04-18 13:20:10
你在正確的軌道上。 XmlWriter是編寫XML的最快方式。 – adatapost 2011-04-18 13:21:04
定義「更快」。更快寫入/調試或更快執行?答案會有所不同。 – 2011-04-18 13:21:48