2013-02-26 85 views
0

我想用metro风格的应用程序(.Net Framework 4.5)在XML文件中编写一些数据。在metro风格的应用程序中的xml文件格式

这里是我写的代码,它工作正常,但问题是整个字符串正在写单线而不是XML文本格式。因此我无法正确阅读。每次我需要重新格式化新添加的数据以正确理解它。

这里是我写的代码:

Dim f As New FolderPicker 
    f.SuggestedStartLocation = PickerLocationId.DocumentsLibrary 
    f.ViewMode = PickerViewMode.Thumbnail 
    f.FileTypeFilter.Add("*") 
    Dim folder As StorageFolder = Await f.PickSingleFolderAsync 

    Dim rootEle As XmlElement 

    Dim file As StorageFile = Nothing 

    file = Await folder.CreateFileAsync("demoXML.xml", CreationCollisionOption.ReplaceExisting) 

    rootEle = doc.CreateElement("files_tbl") 
    doc.AppendChild(rootEle) 

    Dim ele As XmlElement 
    ele = doc.CreateElement("files") 
    rootEle.AppendChild(ele) 

    Dim otherEle As XmlElement 
    otherEle = doc.CreateElement("field-1") 
    otherEle.InnerText = "data-1" 
    ele.AppendChild(otherEle) 

    otherEle = doc.CreateElement("field-2") 
    otherEle.InnerText = "data-2" 
    ele.AppendChild(otherEle) 

    Await doc.SaveToFileAsync(file) 

,如果我想这样的输出:

<files_tbl> 
    <files> 
     <field-1>data-1</field-1> 
     <field-2>data-2</field-2> 
    </files> 
</files_tbl> 

其实我想使用XML文件作为我的数据库,因为我不想要存储大量的数据。我只需要存储文件的一些属性,如文件名,扩展名,位置等。

是否可以使用xml文件作为数据库?

回答

0

您可以考虑将您的解决方案更改为使用XDocument而不是XmlDocument。这是更新且更加用户友好的技术,它允许您在保存到文件或流中时格式化输出。

检查XDocument classXDocument.Save() method有关MSDN的文档。

要使其与WinRT一起使用,请使用OpenStreamForReadAsyncOpenStreamForWriteAsync方法。

+0

非常感谢您的快速回复。 如果您可以通过某些链接正确解释XDocument的使用情况,那将会很不错。 我已经提到您提供的msdn链接,但无法获取它... – 2013-02-26 13:23:09

+0

好的,但您必须编辑您的问题并显示您正在尝试创建的XML。 – MarcinJuraszek 2013-02-26 13:27:27

相关问题