Это настоящий вопрос новичка, но я изо всех сил пытаюсь заставить это работать. Я пытаюсь сохранить некоторые данные в файл XML, но я не могу понять, синтаксис необходимо разместить элементы в правильном месте.
Я бы хотел сохранить дерево XML, которое я построил в соответствующих разделах, на основе связи между заводом и компанией. Код как всегда добавляет данные в первый раздел. Я чувствую, что мне нужно некоторое время, когда предложение where в _xmlEntity.Element ("Company"). Element ("Plants"). Добавить раздел кода, но я не достаточно хорошо понимаю linq прямо сейчас, чтобы заставить его работать.
Не стесняйтесь комментировать любые другие проблемы, которые вы можете увидеть с этим кодом, поскольку я все еще учусь.
Это моя (уменьшенная) структура xml.
<?xml version="1.0" encoding="utf-8"?>
<Entities>
<Company>
<Name>Company A</Name>
<Phone>(555) 516-5165</Phone>
<Plants>
<Plant>
<Name>Plant A</Name>
<EfficiencyRate>92</EfficiencyRate>
</Plant>
<Plant>
<Name>Plant B</Name>
<EfficiencyRate>92</EfficiencyRate>
</Plant>
</Plants>
</Company>
<Company>
<Name>Test Company</Name>
<Phone>(555) 123-1234</Phone>
<Plants />
</Company>
</Entities>
Я использую этот код для создания xml и добавления его в структуру.
//Method to save plant information to XML file
public bool SavePlant(Plant plantData)
{
DataAcccess _newDataAccess = new DataAcccess();
XElement _xmlEntity = _newDataAccess.LoadXMLFile("EntityData");
//Validation code removed to make example smaller...
//Create xml tree for new plant entry
_xmlEntity.Element("Company").Element("Plants").Add(new XElement("Plant",
new XElement("Name", plantData.Name),
new XElement("Address", plantData.Address),
new XElement("City", plantData.City),
new XElement("State", plantData.State),
new XElement("Zip", plantData.Zip),
new XElement("Phone", plantData.Phone),
new XElement("WorkDays", plantData.WorkDays),
new XElement("WorkHours", plantData.WorkHours),
new XElement("EfficiencyRate", plantData.EfficiencyRate)));
//Save the tree in the EntityData.xml file and return a bool for the results
return _newDataAccess.SaveXMLData("EntityData", _xmlEntity);
}