Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I am working on a WPF project which involves binding to an XML file. The thing I

ID: 3827494 • Letter: I

Question

I am working on a WPF project which involves binding to an XML file. The thing I need help with is taking the user input and saving it to the XML file. I am using a datatemplate to show all the info in a scroll viewer. How exactly would I take the user input for each box in all abilities not just the first ability?

Here is my code which is not much just setting up the xml document.

private void saveNPCButton_Click(object sender, RoutedEventArgs e) {

XmlDocument myXML = new XmlDocument();

XmlDataProvider xmlDP = (XmlDataProvider)FindResource("XDP");

myXML.Load("GameData.xml");

xmlDP.Document = myXML;

xmlDP.XPath = "Data";

}

How would I be able to save everything to the xml file?

Here is my XML:

<?xml version="1.0" encoding="utf-8" ?>
<Data>
<Sections>
<Section ID="NPCs"/>
<Section ID="Classes" />
<Section ID="Abilities" />
</Sections>
<Abilities>
<Ability ID="ABI_01">
<DisplayName>Fireball</DisplayName>
<FlavorText>Goodness gracious, great balls of fire.</FlavorText>
<ScriptID>Fireball.py</ScriptID>
</Ability>
<Ability ID="ABI_03">
<DisplayName>Deadly Strike</DisplayName>
<FlavorText>Strike the target in the heart, twice.</FlavorText>
<ScriptID>DeadStrike.py</ScriptID>
</Ability>
<Ability ID="ABI_02">
<DisplayName>Gut Punch</DisplayName>
<FlavorText>Punch your target in the gut.</FlavorText>
<ScriptID>GutPunch.py</ScriptID>
</Ability>
</Abilities>
<Classes>
<Class ID="CLS_01">
<DisplayName>Fighter</DisplayName>
<Abilities>
<Ability>ABI_02</Ability>
</Abilities>
</Class>
<Class ID="CLS_02">
<DisplayName>Wizard</DisplayName>
<Abilities>
<Ability>ABI_01</Ability>
</Abilities>
</Class>
<Class ID="CLS_03">
<DisplayName>Monk</DisplayName>
<Abilities>
<Ability>ABI_02</Ability>
</Abilities>
</Class>
<Class ID="CLS_04">
<DisplayName>BattleMage</DisplayName>
<Abilities>
<Ability>ABI_01</Ability>
<Ability>ABI_03</Ability>
</Abilities>
</Class>
</Classes>
<NPCs>
<NPC ID="NPC_01">
<DisplayName>Fisher Bob</DisplayName>
<Race>Human</Race>
<ClassID>CLS_01</ClassID>
<Level>20</Level>
<isAttackable>false</isAttackable>
<AppearanceID>APP_23</AppearanceID>
<Stats>
<Stat ID="ATK">
<Value>100</Value>
</Stat>
<Stat ID="DEF">
<Value>120</Value>
</Stat>
</Stats>
</NPC>
<NPC ID="NPC_02">
<DisplayName>Captain Adventure</DisplayName>
<Race>Yeti</Race>
<ClassID>CLS_03</ClassID>
<Level>99</Level>
<isAttackable>false</isAttackable>
<AppearanceID>APP_910</AppearanceID>
<Stats>
<Stat ID="ATK">
<Value>200</Value>
</Stat>
<Stat ID="DEF">
<Value>500</Value>
</Stat>
</Stats>
</NPC>
</NPCs>
<AttackableValue>
   <Value>true</Value>
   <Value>false</Value>
</AttackableValue>
<Races>
   <race>Elf</race>
   <race>Dwarf</race>
   <race>Human</race>
   <race>Halfling</race>
   <race>Troll</race>
</Races>
</Data>

Explanation / Answer

<Data>
<Sections>
<Section ID="NPCs"/>
<Section ID="Classes" />
<Section ID="Abilities" />
</Sections>
<Abilities>
<Ability ID="ABI_01">
<DisplayName>Fireball</DisplayName>
<FlavorText>Goodness gracious, great balls of fire.</FlavorText>
<ScriptID>Fireball.py</ScriptID>
</Ability>
<Ability ID="ABI_03">
<DisplayName>Deadly Strike</DisplayName>
<FlavorText>Strike the target in the heart, twice.</FlavorText>
<ScriptID>DeadStrike.py</ScriptID>
</Ability>
<Ability ID="ABI_02">
<DisplayName>Gut Punch</DisplayName>
<FlavorText>Punch your target in the gut.</FlavorText>
<ScriptID>GutPunch.py</ScriptID>
</Ability>
</Abilities>
<Classes>
<Class ID="CLS_01">
<DisplayName>Fighter</DisplayName>
<Abilities>
<Ability>ABI_02</Ability>
</Abilities>
</Class>
<Class ID="CLS_02">
<DisplayName>Wizard</DisplayName>
<Abilities>
<Ability>ABI_01</Ability>
</Abilities>
</Class>
<Class ID="CLS_03">
<DisplayName>Monk</DisplayName>
<Abilities>
<Ability>ABI_02</Ability>
</Abilities>
</Class>
<Class ID="CLS_04">
<DisplayName>BattleMage</DisplayName>
<Abilities>
<Ability>ABI_01</Ability>
<Ability>ABI_03</Ability>
</Abilities>
</Class>
</Classes>
<NPCs>
<NPC ID="NPC_01">
<DisplayName>Fisher Bob</DisplayName>
<Race>Human</Race>
<ClassID>CLS_01</ClassID>
<Level>20</Level>
<isAttackable>false</isAttackable>
<AppearanceID>APP_23</AppearanceID>
<Stats>
<Stat ID="ATK">
<Value>100</Value>
</Stat>
<Stat ID="DEF">
<Value>120</Value>
</Stat>
</Stats>
</NPC>
<NPC ID="NPC_02">
<DisplayName>Captain Adventure</DisplayName>
<Race>Yeti</Race>
<ClassID>CLS_03</ClassID>
<Level>99</Level>
<isAttackable>false</isAttackable>
<AppearanceID>APP_910</AppearanceID>
<Stats>
<Stat ID="ATK">
<Value>200</Value>
</Stat>
<Stat ID="DEF">
<Value>500</Value>
</Stat>
</Stats>
</NPC>
</NPCs>
<AttackableValue>
   <Value>true</Value>
   <Value>false</Value>
</AttackableValue>
<Races>
   <race>Elf</race>
   <race>Dwarf</race>
   <race>Human</race>
   <race>Halfling</race>
   <race>Troll</race>
</Races>
</Data>

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote