如何在XML文件中编写我的信息?

时间:2009-12-19 04:36:49

标签: c# xml

我对将信息写入XML文件感到很遗憾。

我想保存文字字符串和图片。

不知道如何编写XML文件的语法。当我在Visual Studio 2008中创建XML文件时,所有文件都是:

<?xml version="1.0" encoding="utf-8" ?> 

所以我不知道如何添加东西。

**编辑:我知道XML是什么,我只是不知道如何设置东西。我知道我可以通过节点等进行搜索。

我会做类似的事情吗?

<Person>
    <Name>
        Sergio
    </Name>
    <LastName>
        Castedo
    </LastName>
</Person>

意思是,我可以按照自己想要的方式写树吗?还是有严格的方法吗?

5 个答案:

答案 0 :(得分:2)

XML的语法与HTML非常相似,只是存储结构可以描述您喜欢的存储数据。开始学习XML的好地方是W3School's Tutorial on XML

答案 1 :(得分:1)

正如其他人所说,你不必自己编写语法。您可以使用System.Xml命名空间中的XmlTextWriter类很容易地创建XML文件。要保存图像,您可以使用Convert.ToBase64String将图像的原始字节转换为Base64编码的字符串,并将其保存在文件中。

XmlTextWriter outputWriter = new XmlTextWriter(@"C:\somefile.xml", Encoding.Default);
outputWriter.WriteStartDocument();
outputWriter.WriteStartElement("main")
outputWriter.WriteStartElement("with_attributes")
outputWriter.WriteAttributeString("attribute", "value");
outputWriter.WriteEndElement();
outputWriter.WriteStartElement("image");
outputWriter.WriteCData(Convert.ToBase64String(myByteArray));
outputWriter.WriteEndElement();
outputWriter.WriteEndElement();

它非常简单。

答案 2 :(得分:0)

XML的优点在于您可以按照自己的方式进行组织。例如:

<file>
    <image>1234567890ABCDEFG ... Hex data stream example</image>
    <caption>This is a picture of ... whatever</caption>
</file>

XML是一种“人类可读”的数据存储方式。你熟悉类或结构吗?两者都允许您以您能想象的任何方式定义数据类型(可以使用任何类型)。 XML类似于您可以定义新的数据类型(至少,这可能是查看它的便捷方式)。

您希望如何存储数据? XML是最好的方法吗?您应该如何在结构化文档中组织信息?在继续之前,您应该回答几个问题。上面的示例可能无法表达您的想法,但可以进行修改以满足您的需求。

根据数据存储需求的描述,您可能会将字符串转储到您选择的标记之间(无论您决定应该如何)。对于图像,您可能希望HEX转储内容或base 64编码它们并转储生成的字符串。不要忘记图像格式。

答案 3 :(得分:0)

尝试使用Altova XML编辑器。它有一个可视化界面,可以帮助您更好地理解XML文件的结构。

http://www.altova.com/xml-editor/

答案 4 :(得分:-1)

我认为你应该谷歌“什么是xml”。认真。我不是想成为一个屁股。