Xamarin: XMLの書き出し

概要

XamarinでSystem.Xml.XmlDocumentを使用してXMLの書き出しを行う。

docs.microsoft.com

サンプルコード

void TestWriteXmlDocument()
{
    // XMLの生成
    XmlDocument doc = new XmlDocument();

    XmlElement bookElement1 = doc.CreateElement("book");
    XmlElement titleElement1 = doc.CreateElement("title");
    titleElement1.InnerText = "book1";
    bookElement1.AppendChild(titleElement1);
    XmlElement priceElement1 = doc.CreateElement("price");
    priceElement1.InnerText = "$10.0";
    bookElement1.AppendChild(priceElement1);

    XmlElement booksElement = doc.CreateElement("books");
    booksElement.AppendChild(bookElement1);
    doc.AppendChild(booksElement);

    // XMLの書き出し先ファイルパスを取得
    String documentDir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    String sampleFilePath = Path.Combine(documentDir, "books.xml");

    // XMLの書き出し
    File.Delete(sampleFilePath);
    doc.Save(sampleFilePath);
    
    // 書き出したXMLを読み込んで表示
    string xmlFileData = ReadFile(sampleFilePath);
    Console.WriteLine("xmlFileData=" + xmlFileData);
}

private String ReadFile(String filePath)
{
    byte[] textData = File.ReadAllBytes(filePath);
    return Encoding.UTF8.GetString(textData);
}

実行結果

xmlFileData=<books>
  <book>
    <title>book1</title>
    <price>$10.0</price>
  </book>
</books>