1
XML을 사용하여 텍스트 기반 어드벤처 게임의 기본 파일을 저장합니다. XML 문자열은 인벤토리 노드가 작성되지 않는 것을 제외하고는 저장을 수행합니다. 같은 과정으로 퀘스트를 저장하고 있습니다. 퀘스트 및 퀘스트 완료가 저장됩니다.코드가 XML 노드를 만들지 않고 건너 뜁니다.
//Create the "InventoryItems" child node to hold each InventoryItem node
XmlNode inventoryItems = playerData.CreateElement("InventoryItems");
player.AppendChild(inventoryItems);
//Create and "inventoryItem" node for each item in player's inventory
foreach (InventoryItem item in this.Inventory)
{
XmlNode inventoryItem = playerData.CreateElement("InventoryItem");
XmlAttribute idAttribute = playerData.CreateAttribute("ID");
idAttribute.Value = item.Details.ID.ToString();
inventoryItem.Attributes.Append(idAttribute);
XmlAttribute quantityAttribute = playerData.CreateAttribute("Quantity");
quantityAttribute.Value = item.Quantity.ToString();
inventoryItem.Attributes.Append(quantityAttribute);
inventoryItem.AppendChild(inventoryItems);
}
인벤토리 노드와 퀘스트 노드를 만들고 저장하는 코드입니다. foreach 문에서 중단 점을 설정합니다. 코드는 문에 들어가지만 해당 블록의 첫 번째 행 이상은 아닙니다. XmlNode inventoryItem = playerData.CreateElement("InventoryItem");
나는이 문제에 대해 고맙게 여기겠습니다.
당신은'AppendChild'에 통화 반전 안 -'inventoryItems.AppendChild'를? –
그 호출은 inventoryItems를 플레이어 노드의 자식 노드로 만들고 있습니다. – LukeDev
그리고'inventoryItem'의'inventoryItems' 자식을 만드는 것보다 ... –