Я пытаюсь изменить значение Xml элементов:Изменение значения из XML-элемента
<string id="68056"><![CDATA[Anti-Aliasing:]]></string>
<string id="68085"><![CDATA[V Sync:]]></string>
<string id="68100"><![CDATA[Frame Limit:]]></string>
<string id="68125"><![CDATA[Pixel Light Count:]]></string>
<string id="68162"><![CDATA[Shadow Cascades:]]></string>
<string id="68195"><![CDATA[* Game requires restart for changes to take effect *]]></string>
<string id="68300"><![CDATA[Video & Graphics]]></string>
<string id="68333"><![CDATA[Anti-Aliasing: ]]></string>
<string id="68368"><![CDATA[Texture Quality: ]]></string>
<string id="68403"><![CDATA[Pixel Light Count: ]]></string>
<string id="68442"><![CDATA[Shadow Cascades: ]]></string>
<string id="68477"><![CDATA[Graphics]]></string>
<string id="68494"><![CDATA[AddonLoader: Exception iterating ']]></string>
У меня есть тысячи таких строчек. Я хочу изменить значения в разделе <! CDATA [...]>, относительно значения id. Это пустота, которую я сделал, но она не работает.
public static void SetElement(int id, string text)
{
XmlDocument doc = new XmlDocument();
doc.Load(File.OpenRead(PATH));
foreach (XmlNode item in doc.DocumentElement.ChildNodes)
{
if (int.Parse(((XmlElement)item).GetAttribute("id")) == id)
{
doc.CreateCDataSection(text);
doc.Save(PATH);
}
}
}
Я также попытался использовать doc.DocumentElement.Value = текст вместо doc.CreateCDataSection (текст), он не работает.
Можете ли вы дать мне рабочую пустоту, пожалуйста? :)
Должно быть GetAttribute («id»). Значение – jdweng
@jdweng - это не должно, поскольку это не скомпилировалось. 'GetAttribute' возвращает' string' - [см. Документы] (https://msdn.microsoft.com/en-us/library/acwfyhc7 (v = vs.110) .aspx) –