Como posso escrever a saída XML?
Pergunta
Como posso ver a saída XML da seguinte código C #? Eu posso ver que ele usa XElement, mas onde posso localizar o arquivo XML ou a saída?
private void Form1_Load(object sender, EventArgs e)
{
XElement doc = new XElement("searchresults"); // root element
//create
XElement result = new XElement("result",
new XElement("Resulthead", "AltaVista"),
new XElement("ResultURL", "www.altavista.com/"),
new XElement("Description", "AltaVista provides the most comprehensive search experience on the Web! ... "),
new XElement("DisplayURL", "www.altavista.com/")
);
doc.Add(result);
//add another search result
result = new XElement("result",
new XElement("Resulthead", "Dogpile Web Search"),
new XElement("ResultURL", "www.dogpile.com/"),
new XElement("Description", "All the best search engines piled into one. All the best search engines piled into one."),
new XElement("DisplayURL", "www.dogpile.com/")
);
doc.Add(result);
string xmlString = doc.ToString(SaveOptions.DisableFormatting);
}
Solução
Seu resultado só existe dentro de sua variável "xmlString." - ele não está sendo escrito em nenhum lugar, nem para console / janela, nem em um arquivo
Você vai ter que adicionar um
doc.Save(@"C:\your-xml-file-name.xml");
linha no final do seu método para salvar o conteúdo de um arquivo no disco.
Certifique-se de usar um caminho completo, ou verificar em seu diretório atual onde o aplicativo está sendo executado (isto é, no (yourappname)\bin\debug
, mais provável).
Marc
Outras dicas
Esse código não está escrevendo em qualquer lugar XML mas a memória (a variável xmlString
).
Você poderia tentar chamar XElement.Save()
e obtê-lo em um arquivo :
doc.Save(@"filename.xml");
Ou use o depurador e olhar para as variáveis.
Ou, se preferir, basta colocá-lo em uma caixa de texto:
textBox.Text = xmlString;
Esteja avisado que não pode ser bem formatado ...