我有一個XML文件。我想用C#將它轉換爲JSON。但是,該XML文件超過20 GB。大數據Xml文件(文件大小超過20GB)轉換爲Json文件
我試圖用XmlReader讀取XML,然後將每個節點追加到JSON文件中。我寫了下面的代碼:
var path = @"c:\result.json";
TextWriter tw = new StreamWriter(path, true, Encoding.UTF8);
tw.Write("{\"A\":");
using (XmlTextReader xmlTextReader = new XmlTextReader("c:\\muslum.xml"))
{
while (xmlTextReader.Read())
{
if (xmlTextReader.Name == "A")
{
var xmlDoc = new XmlDocument();
var v = xmlTextReader.ReadInnerXml();
string json = Newtonsoft.Json.JsonConvert.SerializeXmlNode(xmlDoc, Newtonsoft.Json.Formatting.None, true);
tw.Write(json);
}
}
}
tw.Write("}");
tw.Close();
此代碼不能正常工作。轉換json時出現錯誤。有沒有最好的方法來執行轉換?
你看過XDocument,你可以用linq查詢xml。它會讓你的任務更容易 – Murdock
什麼是錯誤?試着處理一個較小的文件(比方說兩個節點),看看那個JSON有什麼問題(例如:如果你的循環產生一個數組......它在哪裏打開/關閉?) –
你試過這個問題的解決方案: http://stackoverflow.com/questions/7711818/storing-large-xml-in-mongodb(類型的雙重內容) – aloisdg