【发布时间】:2021-10-29 02:04:06
【问题描述】:
我使用 C# XDocument 库创建了 XML 数据。我尝试将 XML 数据上传到 azure blob。
下面是我的代码。
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using System.Xml.Linq;
public CloudBlobClient blobClient {get;}
public AzureBlobServices(string storageAccountConnection)
{
StorageAccountConnection = storageAccountConnection;
storageAccount = CloudStorageAccount.Parse(StorageAccountConnection);
blobClient = storageAccount.CreateCloudBlobClient();
}
public async Task sampleFile()
{
XDocument doc = new XDocument( new XElement( "body",
new XElement( "level1",
new XElement( "level2", "text" ),
new XElement( "level2", "other text" ) ) ) );
MemoryStream stream = new MemoryStream();
doc.Save(stream);
var container = blobClient.GetContainerReference("folder location");
CloudBlockBlob blockBlob = container.GetBlockBlobReference("Data/xml/Data.csv");
await blockBlob.UploadFromStreamAsync(stream);
}
但文件已上传,但文件中没有任何内容。代码有什么问题?
【问题讨论】:
-
除了使用 Excel 打开文本文件之外,该 XML 字符串有什么问题? XML 是文本。将文件内容作为文本发布并解释您真正想要的内容。您发布的内容正是您的代码生成的内容
-
Data/xml/Data.csv? CSV 不是 XML。 CSV 只是一个平面文件,值之间有逗号,可选标题,没有其他结构,例如1,2,3.14,4.5。 -
当您双击扩展名为
csv的文件时,Excel 将尝试像打开 CSV 文件一样打开该文件 - 字段以逗号分隔,行以换行符分隔。在这种情况下,没有逗号,只有换行符,因此 Excel 将文件加载为单列文本。