Игнорировать строку при записи текста в файл
В проекте на Unity имеется XML файл в который копируется нужный XML из Text Asset'a.
Т.к. данные хранятся в Application.persistentDataPath у меня есть метод на проверку наличия данного файла и его создания. Но в XML файле имеется атрибут result. Можно ли дописывать данный файл но с игнором атрибута и его значения?
XML файл:
<?xml version="1.0"?>
<starsData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<level name="Game">
<starCollect result="false">Collect a pineapple!!</starCollect>
<starSave result="false">Save a fruit!!!</starSave>
<escapeStar result="false">Escape a fruit!!</escapeStar>
</level>
<level name="Level02">
<starCollect result="false">Collect a fruit</starCollect>
<starSave result="false">Save a fruit</starSave>
<escapeStar result="false">Save a fruit</escapeStar>
</level>
</starsData>
Метод проверки:
public static void CheckForExists(TextAsset textAsset)
{
var path = Application.persistentDataPath + "/StarsData.xml";
if (!File.Exists(path))
{
var fs = new FileStream(path, FileMode.Create);
fs.Dispose();
}
File.WriteAllText(path, textAsset.text);
}
Ответы (1 шт):
Автор решения: Alexander Petrov
→ Ссылка
Так как текст является xml, можно его распарсить и удалить атрибут следующим образом:
using System.Xml.Linq;
var xml = XElement.Parse(textAsset.text);
xml.Descendants().Attributes("result").Remove();
xml.Save(path);