【发布时间】:2014-03-01 16:54:14
【问题描述】:
我需要将一些数据放入 XML 文件中。我可以使用 XmlSerializer 来序列化数据,但我应该多次写入数据,所以如果我使用 XmlSerializer 我会得到类似的结果
<?xml version="1.0" encoding="utf-8"?>
<Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<AddressId>0</AddressId>
<Country>Test5</Country>
<Region>Test5</Region>
<Locality>Test5</Locality>
<Street>Test5</Street>
<HouseNumber>Test5</HouseNumber>
<BuildingNumber>Test5</BuildingNumber>
<ApartmentNumber>Test5</ApartmentNumber>
</Address>
<?xml version="1.0" encoding="utf-8"?>
<Address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<AddressId>0</AddressId>
<Country>Test6</Country>
<Region>Test6</Region>
<Locality>Test6</Locality>
<Street>Test6</Street>
<HouseNumber>Test6</HouseNumber>
<BuildingNumber>Test6</BuildingNumber>
<ApartmentNumber>Test6</ApartmentNumber>
</Address>
如您所见,我有 2 个根元素 (?xml version="1.0" encoding="utf-8"?>),因为我在文件中添加了信息。我不能使用列表,因为用户可以多次添加信息,所以我会遇到类似的问题,但使用列表.. 我也知道 Linq To XML,但是当我尝试创建 XML 文件时,我收到一个错误,即 Xml 文件没有根元素
XmlDocument xmlDocument = new XmlDocument();
XElement xmlTree =
new XElement("Addresses",
new XElement("Address",new XAttribute("Id","1000"),
new XElement("Country", address.Country),
new XElement("Region", address.Region),
new XElement("Locality", address.Locality),
new XElement("Street", address.Street),
new XElement("HouseNumber", address.HouseNumber),
new XElement("BuildingNumber", address.BuildingNumber),
new XElement("ApartmentNumber", address.ApartmentNumber)
)
);
xmlDocument.Save("MvcApp4.xml");
那么,你建议我用什么来实现我的目标?
【问题讨论】:
标签: c# linq-to-xml